微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式之模式匹配的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"]

原文地址:https://www.jb51.cc/regex/360373.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐