有没有办法检索包含匹配起始位置,结束位置,总长度等的正则表达式对象?
或至少类似于String.search(/pattern/)
,但有多个结果。
提前致谢!
答案 0 :(得分:4)
Exec就是你要找的东西。
编辑:
例如(并使用链接页面中的代码):
var re = /d(b+)(d)/ig;
var result = re.exec("cdbBdbsbz");
result.index
是起始位置re.lastIndex
是结束位置result[0].length
是总长度答案 1 :(得分:2)
你可以根据exec推出自己的函数,这是一个构建结果对象的例子,包括所有匹配的索引......
searchAll = function (text,pattern) {
var result, output = [];
while((result = pattern.exec(text)) != null) {
output.push({
result:result[0],
index:result.index,
lastIndex:pattern.lastIndex
})
}
return output
}
var s = searchAll("JavaScript is more fun than Java!",/Java/g)
alert( JSON.stringify( s ) )