exec函数使用总结

概述
匹配文本中指定的字符串,返回一个数组或者null。

语法
var result1 = regexp.exec(str);
var result2 = regexp(str); // Mozilla extension

说明
regexp为一个正则表达式对象,str为准备进行匹配的文本。
如果匹配成功,该方法会返回一个数组,如果匹配失败,则返回null。

返回数组除包含匹配的文本之外,还有如下两个元素:索引为index的元素,匹配文本的第一个字符的位置;索引为input的元素,为被检索的文本。

示例:
function finds(s){
var pattern = /s/;
var result = pattern.exec(s);
for(var i = 0; i < result.length;i++){ alert(result[i]); } alert(result['index']); alert(result['input']); } finds('asbscs');

上面的例子中在遇到第一个匹配的时候就终止了,在正则表达式中使用'g'可以达到多次匹配的效果:

function finds(s){
var pattern = /s/g;
var result;
while((result = pattern.exec(s)) != null){
alert(result[0]);
alert(result['index']);
alert(pattern['lastIndex']);
}
}

finds('asbscs');

其中,pattern['lastIndex']指下次匹配开始的索引值,这个值比result['index']正好大1。

参考链接:
同W3C的说明文档相比,MDC的说明文档更加简单易懂:
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Objects:RegExp:exec
http://www.w3school.com.cn/js/jsref_exec_regexp.asp
http://www.w3schools.com/jsref/jsref_exec_regexp.asp

此条目发表在sitebuild分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据