首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-03-28 
问一个关于正则表达式exec方法的问题var patt1new RegExp((life),g)var beTestThese is a free th

问一个关于正则表达式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] 是所有的子匹配 即表单是中的()

热点排行