2012-08-16 34 views
0

我有匹配在JavaScript中使用正则表达式的字符串的问题。我试图让所有的东西都达到“at”一词。我正在使用以下内容,虽然它不会返回任何错误,但它也不会执行任何操作。JavaScript的正则表达式匹配失败

var str = "Team A at Team B"; 
var matches = str.match(/(.*?)(?=at|$)/); 

我试过多个正则表达式模式跨越这个SO后,Regex to capture everything before first optional string来之前,但它不会返回我想要的东西。

回答

1

从您的第二的?你的第一个捕获组,和|$,并添加^标记字符串的开头:

str.match(/^(.*)(?=at)/) 

或者(我个人觉得下面更容易阅读,但你的电话):

str.substr(0, str.search(/\bat\b/)) 
+0

完美,谢谢。 – Jeremy1026 2012-08-16 01:50:04