0

我在 javascript 中使用正则表达式匹配字符串时遇到问题。我试图让一切都达到“at”这个词。我正在使用以下内容,虽然它没有返回任何错误,但它也没有做任何事情。

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

在遇到此 SO 帖子之前,我尝试了多种正则表达式模式,Regex to capture all before first optional string,但它不会返回我想要的。

4

1 回答 1

1

?在您的第一个捕获组和第二个捕获组中删除|$,并添加^到标记字符串的开头:

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

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

str.substr(0, str.search(/\bat\b/))
于 2012-08-16T01:36:15.317 回答