在Javascript正则表达式匹配中查找索引

时间:2010-06-09 10:16:19

标签: javascript regex

我在javascript中有这样的字符串

var str = "This is my test string is Ingrédients";

子字符串"Ingrédients"也可以是"Ingredients" 如何从上面的字符串中获取子串"Ingrédients"的索引 通过应用正则表达式(Ingr[ée]dients

2 个答案:

答案 0 :(得分:31)

如果您只是想在字符串中找到第一次出现的正则表达式匹配,可以使用search。如果要查找所有匹配项,则可以使用重复的exec并查询匹配的index值。

以下是一个例子:( see it on ideone.com):

text = "I'm cooking; these are my Ingredients! I mean Ingrédients, yes!";
//      0123456789012345678901234567890123456789012345678901234567890123

re = /Ingr[ée]dients/g;

print(text.search(re)); // "26"
print(text.search(re)); // "26" again

while (m = re.exec(text)) {
   print(m.index);
} // "26", "46"

参考

答案 1 :(得分:-2)

使用搜索:

alert(str.search(/Ingr[ée]dients/));