用于模式匹配String方法

用于模式匹配String方法

String对象支持4中方法支持正则表达式的方法。

1.String表达式的方法。最简单的是search().
1.1参数为一个正则表达式,返回的是于之匹配字符串的其实位置,如果找不到匹配的子串,它将返回-1。
如:
“JavaScript”.search(/script/i);返回4。
1.2如果参数不是一个正则表达式,则会调用RegExp构造函数转换成正则表达式,search()不支持全局检索,它会忽略正则表达式参数中的修饰符/g.

1.1 replace()方法用以执行检索和替换操作。其中一个参数是一个正则表达式,第二个参数是要进行替换的字符串。
1.2 若第一个参数是字符串,则会直接使用这个字符串进行匹配,而不会转换为RegExp.若指定修饰符g则会将匹配到的字符串全部进行替换
1.3 同时在子匹配中可以使用$加数字的方式指代子匹配的引用使其子匹配保持不变。
如:

var s ="s1123swadwadjSsfefJawdwadj";
var s1 = /s([\d]*[\w]*)/;
var s2=s.replace(s1,'x$1X');
console.log(s2)
//其中([^\D]*[\w]*)中的内容并没有被替换

1.4replace(),最后的匹配只会匹配到于之相符的最后一个,如上例子最终输出x1123swadwadjSsfefJawdwadX,而不是x1123swadwadXSsfefJawdwadj;
1.5 replace()方法还有一些其他重要特性,第二个参数可以是函数,该函数能动态的修改计算进行动态替换。

match()方法是最常用的String正则表达式方法。它的唯一参数就是一个正则表达式(或通过RegExp()构造函数将其转换为正则表达式),返回的是一个由匹配结果组成的数组。

3.1
match方法如果在正则表达式中使用g修饰符则返回的是匹配到的字符串数组。如果没有加g则返回的第一个参数是匹配到的返回值结果,而第二个参数返回的是子匹配串,为了与引用的子匹配相匹配则a[1]匹配的是第一个子匹配的结果与$1相匹配。
如:

var url=/(\w+):\/\/([\w.]+)\/(\S*)/;
var text="at http://www.example.com/~david";
var result=text.match(url);
result.forEach(function(n){
    console.log(n);
})

4.split()这个方法用以调用它的字符串分隔为一个子串组成的数组,使用的分隔符是split()

4.1 split参数是字符串的情况下则会使用字符串进行匹配,返回结果是被分隔的数组。
4.2 split的参数如果是正则表达式(RegExp),则会通过正则表达式进行分隔字符串。

"1, 2, 3, 4, 5, 6".split(/\s*,\s*/);
//返回结果["1","2","3","4","5","6"];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值