语法:
reg.exec(str);
其中str为要执行正则表达式的目标字符串。例如:
<script type="text/javascript">
var reg = /test/;
var str = 'abcdtestString';
var result = reg.exec(str);//result是个数组,result[0]保存的是正则匹配到的字符串”test”
alert(result);
</script>
将会弹出test,因为正则表达式reg会匹配str(即字符串:‘abcdtestString’)中的’test’的部分,并将’test’保存在一个数组的第一项中。然后把数组返回赋给result。
这里exec的返回值是一个length为1的数组:[“test”],当alert(result)的时候,系统会自动执行[“test”].toString()方法,所以我们见到的弹出结果是test。
补充:把上面的正则改一下:
<script type="text/javascript">
var reg = /(t)(e)(s)(t)/;//把test的每个字符都用小括号包起来
var str = 'abcdtestString';
var result = reg.exec(str);//现在result就变成[“test”,”t”,”e”,”s”,”t”]
alert(result);//弹出 test,,t,e,s,t
</script>
在正则中给每个原子加了括号,那就表示在一个大正则里,又出现了若干个子正则,那么exec不但要把总正则匹配到的字符找出来,还要把子正则里的字符也要找出来,依次放到数组里。关于子正则,这里先做简单了解即可,这会不必纠缠这个知识点。
exec是个很强大的方法,下面会有更详细的介绍