在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
答案 0 :(得分:1)
只是偏移它,所以/^.{5}Zorg/
这意味着'从行的开头起任意5个字符,然后是Zorg'。