在特定位置开始时匹配正则表达式以开始输入

时间:2013-03-01 16:43:08

标签: javascript regex

在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

1 个答案:

答案 0 :(得分:1)

只是偏移它,所以/^.{5}Zorg/这意味着'从行的开头起任意5个字符,然后是Zorg'。