正则表达式学习

字符串函数

1.search的用法
var str="ssdsaassss"; str.search('aa');
search返回要查找的字符串第一次出现的位置,如果不存在则返回-1
2.substring的用法
var str="dsadasfasdf"; str.substring(1,4);
substring不包含结束位置
3.split的用法
var str="123-23-sdd-sg222-sfhhh-sss"; str .split(-);
将字符串按照指定的规则,分割成数组
4.charAt的用法
var str="123456"; str.charAt(1);
获取某个字符

不使用正则的情况下,使用字符串函数去处理问题也可以,但是代码很复杂,繁琐。
于是,就出现了正则,这一专门用来处理字符串的工具。

简单正则:
var str="absdsghjhjs"; var reg=new RegExp('a'); alert(reg.test(str));

new RegExp('a',i);
i为忽略大小写

字符类

1.正则中g
var str="absdsghjhjs8 sakdgj38fd -22 28dfjs73t9sa0sgdffgas982"; var re=/\d/g; alert(str.match(re));
g全局匹配
2.正则中+号
var str="absdsghjhjs8 sakdgj38fd -22 28dfjs73t9sa0sgdffgas982"; var re=/\d/g; alert(str.match(re));
+号是量词,许多,表示任意多少
3.正则中replace
var str="absdsghjhjs8 sakdgj38fd -22 28dfjs73t9sa0sgdffgas982";
alert(str.replace(/a/gi,'T'));
4.正则中[]
var str="12sf1a35sgf3a3412d2as2311s13 1a2as 2av1 "; var re=/1[abc]2/g; alert(str.match(re));
1[abc]2在方括号的字符形成1a2、1b2、1c2的规则
5.正则中-
var str = "12sf1a35sgf3a3412d2as2311s13 1s2as 2av1 "; var re = /1[a-z]2/g; alert(str.match(re));
a-z表示a到z
6.正则^
var str = "12sf1a35sgf3a3412d2as2311s13 1a2as 2av1 "; var re = /1[^a]2/g; alert(str.match(re));
^a表示除了a之外的所有字符
7.正则中.
.在正则中代表任意字符
8.正则中\w
\w代表[a-z0-9]
9.正则中\s
\s代表所有的空格类的空白字符
10.正则中\D \S \W
\D表示[^0-9]
\W表示[^a-z0-9]
\S表示除了空格之外的特殊字符

量词类

1.{n,m}
最少出现n次,最多m次
2.{n,}
最少n次,最多不限
3.{,m}
最少不限,最多m次
4.{n}
正好n次
5.?
零次或1次
6.*
任意次
7./^&/
表示行首行尾

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在学PHP,js时需要用到正则表达式,尽管在学Python时学了一些但是不够系统。每次看到繁琐的正则,就浅尝辄...
    zjbao123阅读 483评论 0 2
  • 什么是正则表达式 Regular Expression使用单个字符串来描述,匹配一系列符合某个句法规则的字符串 说...
    打铁大师阅读 797评论 1 6
  • 正则表达式的语法不再多说 正则RegExp类型有几个常用方法: exec() 该方法是专门为捕获组而设计的。 例:...
    灯不梨喵阅读 433评论 0 0
  • 一直以来记得初中的一位老师这样评价我:“H同学,别人是事半功倍,你是事倍功半。”我认为我是一个勤奋的小孩,但...
    我的笔记阅读 232评论 5 2
  • 20170501(摘抄) 一个人身体虚弱,心灵也会跟着虚弱,思想、理智都起不了作用。 前几天突然胃疼的厉害,在床上...
    lunar_yun阅读 1,145评论 0 0