我在javascript中使用正则表达式匹配字符串时出现问题。我试图让所有内容都达到“at”这个词。我使用以下,虽然它没有返回任何错误,它也没有做任何事情。
var str = "Team A at Team B";
var matches = str.match(/(.*?)(?=at|$)/);
在遇到这篇SO帖子Regex to capture everything before first optional string之前,我尝试了多种正则表达式模式,但它并没有返回我想要的内容。
答案 0 :(得分:1)
删除第一个捕获组的?
和第二个捕获组|$
,然后添加^
以标记字符串的开头:
str.match(/^(.*)(?=at)/)
或者(我个人觉得下面更容易阅读,但是你的电话):
str.substr(0, str.search(/\bat\b/))