您的位置:首页 > Web前端 > JavaScript

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

2011-10-31 15:07 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: