正则表达式用于定义字符串的规则,计算机可根据正则表达式来判断字符串是否符合规则,获取字符串中符合规则的内容。
创建正则表达式对象
语法:
var 变量=new RegExp("正则表达式","匹配规则")
另外, 在构造函数中可以传递一个匹配模式作为第二个参数,可以是:
- i 忽略大小写
- g 全局匹配模式
例:
使用字面量来创建正则表达式
语法:
var 变量= /正则表达式/匹配模式
使用字面量的方式创建更加简便。
例:
正则表达式的其他语法
- 量词
设置可以出现的次数,语法:/a{连续出现次数}/
例如:/a{3}/等于/aaa/
注意量词只对前面一个字符起作用,要对多个字符起作用可以加上()。
例如:/ab{3}/等于/abbb/,/(ab){3}/等于/ababab/
其他扩展用法:
/ab{1,3}c/表示b可出现一到三次都行
/ab{m,}c/表示b可出现m次以上都行
/ab+c/表示至少有一个b ,相当于/ab{1,}c/
/ab*c/表示有没有b都行,也可很多个b
/ab?c/表示0个或1个b都行 相当于{0,1}
- 检查一个字符串开头结尾
^a表示以a开头
注意与[^a]区别,这个表示除a以外。而^a表示以a开头
a$表示以a结尾
另外,^a$表示开头结尾都是a,且只能是a,就是只有字符串"a"才满足,所以在正则表达式中同时使用^ $,则要求字符串完全满足正则表达式。
其他语法
字符串与正则
- split()
将字符串拆分为数组, 该方法会 全局(不用指定全局匹配g) 进行拆分,参数可以传一个正则表达式。
- search()
可以搜索字符串中是否有指定内容,会返回指定字符串第一次出现的索引,该方法没有全局匹配所以g对其无效,如果没有找到指定的内容则返回-1,还可接受正则表达式做为参数。
- match()
可以根据正则表达式,从一个字符串中将符合条件内容提取出来,默认条件下match只会找到第一个符合条件的内容,找到后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,match()会将结果封装到一个数组中返回。
- replace()
replace()可以将字符串中指定的内容替换为新的内容。
参数:
1.被替换的内容,可以接受正则。
2.新的内容。
默认只替换第一个,所以要全替换就要设置全局
Comment here is closed