js正则字符串对象方法

来源:互联网 发布:2016年十大网络神曲 编辑:程序博客网 时间:2024/06/05 20:12

console编辑器网址:http://jsbin.com

字符串对象方法:
1,search()
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

方法返回第一个匹配结果index,查找不到返回-1,
search()方法不执行全局匹配,它将忽略标志g,并且总是从字符串的开始进行检索。,
2,match()
match()方法将检索字符串,以找到一个或多个与regexp匹配的文本,
regexp是否具有标志g对结果影响很大。

非全局调用:跟exec一样
如果regexp没有标志g,那么match()方法就只能在字符串中执行一次匹配。
如果没有找到任何匹配的 文本,返回null。
否则它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
返回数组的第一个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。
除了常规的数组元素之外,返回的数组还含有2个对象属性。
。index声明匹配文本的起始字符在字符串的位置。
。input声明对stringObject的引用
这里写图片描述
全局调用:
如果regexp具有标志g则match方法将执行全局检索,找到字符串中的所有匹配字符串。
没有找到任何匹配子串,返回null。
找到了一个或多个匹配子串,返回一个数组。
数组元素中存放的是字符串中所有的匹配子串,而且也没有index属性或input属性。
3,split()
经常使用split方法把字符串分割为字符数组。
‘a,b,c,d’.split(‘,’);// [“a”,”b”,”c”,”d”]
在一些复杂的分割情况下我们可以使用正则表达式解决。
‘a1b2c3d’.split(/\d/);// [“a”,”b”,”c”,”d”]
4,replace(找谁,替换成谁)
‘a1b2c1d’.replace(/1/g,2);//”a2b2c2d”
※function参数含义(回调函数)
function会在每次匹配替换的时候调用,有四个参数
1,匹配字符串
2,正则表达式分组内容,没有分组则没有该参数
3,匹配项在字符串中的index(每个匹配结果的位置)
4,原字符串

'a1b2c3d4e5'.replace(/\d/g,function(match,index,origin){console.log(index);return parseInt(match)+1;});//1.3.5.7.9//"a2b3c4d5e6"
'a1b2c3d4e5'.replace(/\d/g,function(match,group1,group2,group3,index,origin){    console.log(index);    return group1+group2;});//"1b2" "3d4"//"a12c34e5"
0 0
原创粉丝点击