1.基本语法
/正则表达式主体/修饰符(可选)
修饰符(可选)
2.从字符串中提取数字部分
2.1提取一个数字(找到第一个匹配后停止)
var str= "abc123de4f5";
var reg = /[0-9]/;
console.log("result:"+str.match(reg ));
结果:result:1
2.2提取多个数字,增加+(找到第一个匹配后停止)
var str = "abc123de4f5";
var reg= /[0-9]+/;
console.log("result:"+str.match(reg));
结果:result:123
2.3提取一个数字(找到所有匹配),增加g修饰符
- 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
var str = "abc123de4f5";
var reg = /[0-9]/g;
console.log("result:"+str.match(reg));
结果:result:1,2,3,4,5
2.4提取多个数字(找到所有匹配),增加g修饰符
- 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
var str = "abc123de4f5";
var reg = /[0-9]+/g;
console.log("result:"+str.match(reg ));
结果:result:123,4,5
3.search() 方法
- 作用:检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置,如果找不到匹配的子串,返回-1
- 注意:该方法不支持全局检索,因为它忽略正则表达式参数中的修饰符g
- 强调:如果该方法的参数不是正则表达式,则首先通过RegExp构造函数将它转换成正则表达式
- i 是一个修饰符 (搜索不区分大小写)
- 使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:代码如下
var str = "Hello Word";
var n = str.search(/word/i);
结果:6
4.replace() 方法
- 作用:在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
- 注意:第一个参数是正则表达式,第二个参数是要进行替换的字符串
- 强调:如果正则表达式中设置了修饰符g,那源字符串中所有与模式匹配的子串都将替换成第二个参数指定的字符串,如果不带此参数,只替换所匹配的第一个子串
- 友情提示:如果该方法的第一个参数不是正则表达式而是字符串,将直接搜索这个字符串,而不是像search一样转换成正则表达式
- 使用正则表达式且不区分大小写将字符串中的 word 替换为 everyone,代码如下
var str = "Hello Word";
var txt = str.replace(/word/i,"everyone");
结果:Hello everyone
5.test() 方法
- 作用:用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false
- 检测字符串中是否包含W
var str = "Hello Word";
var reg =/W/;
var res = reg.test(str); //等价于:/W/.test("Hello Word")
结果:true
6.exec()
- 作用:检索字符串中的正则表达式的匹配,该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
var str = "Hello Word";
var reg =/W/;
var res = reg.exec(str); //等价于:/W/.exec("Hello Word")
结果:W
7.match()
- 作用:最常用的string正则表达式方法,唯一参数为正则表达式,返回结果是一个由匹配结果组成的数组
- 如果该正则表达式设置了g修饰符,数组中包含所有匹配结果,代码如下
"1 plus 2 equals 3".match(/\d+/g)
结果:["1","2","3"]
- 如果正则表达式没有设置g修饰符,将不进行全局检索,但结果也返回一个数组