读书人

问一个关于正则表达式exec方法的有关问

发布时间: 2012-03-28 15:40:03 作者: rapoo

问一个关于正则表达式exec方法的问题
var patt1=new RegExp("(life)","g");
var beTest="These is a free thing in life."

result=patt1.exec(beTest)
document.write(result);

为什么输出的是
life,life
有两个life呢?

[解决办法]
把“var patt1=new RegExp("(life)","g");”改成
var patt1=new RegExp("life","g");不要括号
[解决办法]
exec得到的数组 :
array[0]是整个字符串
array[1]是第一个括号捕获的内容
array[2]是第二个括号捕获的内容
array[3]是第三个括号捕获的内容
array[4]是第四个括号捕获的内容
... ...
[解决办法]
exec返回的结果
r[0] 是匹配的结果
r[1-n] 是所有的子匹配 即表单是中的()

读书人网 >JavaScript

热点推荐