javascript中RegExp的exec方法和String的match方法

 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。下面是两种创建方式:

1. var patt=/pattern/attributes,参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。

2. var patt=new RegExp(pattern, attributes),如new RegExp('a','g')等价于/\a/g

    String.prototype.replaceAll = function(a, b){
        return this.replace(new RegExp(a,'g'),b);
    }
    console.log('aabbcc'.replaceAll('b','B'));

进入整体exec和match方法

一、exec方法:

如果未找到匹配,则返回值为 null;如果找到了匹配,则返回一个结果数组,

此数组的第 0 个元素是与正则表达式相匹配的文本,第1个元素与

RegExpObject的第1个子表达式相匹配的文本(如果有的话),第2个元

素是与RegExpObject的第2个子表达式相匹配的文本(如果有的话),以

此类推。

 二、match方法:

如果match方法没有找到匹配,返回null;如果找到匹配返回一个数组并且更新全局RegExp对象的属性以反映匹配结果。

三、例:

1.

var str = "1234 5678";
var patt = /(\d{4}) (\d{4})/;
var rst = patt.exec(str);
console.log(rst);                                          --["1234 5678", "1234", "5678"]
console.log(rst[2]+' '+rst[1]);                       --5678 1234
console.log(RegExp.$2+' '+RegExp.$1);    --5678 1234

2.

var str = "1234 5678";
var patt = /(\d{4}) (\d{4})/;
var rst = str.match(patt);
console.log(rst);                                          --["1234 5678","1234","5678"]
console.log(rst[2]+' '+rst[1]);                       --5678 1234
console.log(RegExp.$2+' '+RegExp.$1);    --5678 1234

3.

var str = "1234 5678";
var patt = /(\d{4}) (\d{4})/;
var rst = str.replace(patt,"$2 $1");
console.log(rst);                                          --5678 1234
console.log(RegExp.$2+' ' +RegExp.$1);   --5678 1234



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值