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
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
相关文章推荐
- javascript 正则表达式的组、全局、RegExp.exec()和string.match()区别
- JavaScript中级 --- 正则常用方法 exec、match、replace、test、$n
- javascript中match方法和exec()方法详解与深度区别(非原创)
- JavaScript 正则表达式(RegExp对象、属性、方法、String支持)
- JavaScript中正则表达式test()、exec()、match() 方法
- javascript-string类型的方法(match,replace,split,concat+join)
- 彻底领悟javascript中的exec与match方法(非原创)
- JavaScript 中的 String.prototype.match() 方法
- JavaScript中正则表达式test()、exec()、match() 方法区别
- 深入了解javascript中的exec与match方法
- 彻底领悟javascript中的exec与match方法
- 体会String对象的match方法和new RegExp(re).exec(str)的区别
- JavaScript中的String对象的常用方法、文本框对象的常用方法和事件、正则表达式的概念、正则表达式的几种构造方式、RegExp对象使用什么方法匹配正则表达式、
- JavaScript RegExp对象的exec()方法
- JavaScript中正则表达式test()、exec()、match() 方法区别
- js 正则表达式 RegExp.exec RgeExp.test String.match
- 领悟javascript中的exec()和match()方法
- JavaScript string对象match()方法
- JavaScript中match方法与exec方法的异同
- 彻底领悟javascript中的exec与match方法