在 Javascript 中使用 RegExp 时,如果您想将正则表达式匹配到输入的开头,您可以像这样使用 ^
var regEx = /^Zorg/g;
regExp.exec( "Zorg was here" ); // This is a match
regExp.exec( "What is Zorg" ); // This is not a match
在字符串中的不同位置开始匹配时,这不起作用。
var regEx = /^Zorg/g;
regExp.lastIndex = 5;
regExp.exec( "What Zorg?" ); // This is not a match but i want it to
根据 mozilla 文档,您应该能够通过使用 regExp 上的粘性标志 y 来使其匹配。
var regEx = /^Zorg/gy;
regExp.lastIndex = 5;
regExp.exec( "What Zorg?" ); // This should match in firefox
现在问题来了。当从不同于 0 的索引开始时,是否可以编写一个在搜索开始时匹配的正则表达式。(现在使用 Node,但也希望在 webkit 中使用它)
var regEx = ????;
regExp.lastIndex = 5;
regExp.exec( "What Zorg?" ); // This this should match
regExp.exec( "Who is Zorg?" ); // This this should not match