正则表达式之模式匹配的String方法
String对象的一些用以执行正则表达式模式匹配和检索替换操作的方法 1、search() 参数:正则表达式 返回:第一个与之匹配的子串的起始位置,如果找不到子串,返回-1 注:如果参数不是正则表达式,search()则首先会通过RegExp构造函数将它转换成正则表达式,但是它不支持全局检索,所以会忽略正则表达式参数中的修饰符g eg:"JavaScript".search(/script/i); //4 2、replace():用以执行检索与替换操作 参数:第一个是一个正则表达式regexp,第二个是要进行替换的字符串replacement 返回:一个新的字符串,是用replacement替换了 regexp 的第一次匹配或所有匹配之后得到的。 注:如果第一个参数不是正则表达式而是字符串,他会直接搜索这个字符串 eg:text.replace(/javascript/gi,"JavaScript"); //JavaScript 如果替换字符中出现了$加数字,那么replace()将用与制定的子表达式相匹配的文本来替换着两个字符 eg: var quote = /"([^"]*)"/g; // 一段引文起始于引号,结束于引号,中间不能包含引号 text.rep;ace(quote,'“$1”'); //用中文半角引号替换英文半角,括号里面的内容没有改变 replacement也可以是函数; 3、match() 参数:正则表达式 返回:一个由匹配结果组成的数组a,a[0]存放完成的匹配,a[1]存放的则是与第一个圆括号括起来的表达式相匹配的子串,以此类推 注:为了和方法replace()保持一致,a[n]存放的是$n的内容 eg:"1 plus 2 equals 3".match(/d+/g) //["1","2","3"] 4.split() 作用:用以将调用它的字符串拆分为一个子串组成的数组,使用的分隔符就是split的参数 eg:"123,456,789",split(","); //["123","456","789"] split()的参数也可以是正则表达式,这样使得它的功能异常强大 eg:"1,2,3,4,5".split(/s*,s*/); //返回["1","3","4","5"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |