我想匹配两个")"之间的字符串。只有在字符串中找到指定的单词时才会出现字符。
例如,请考虑以下文本块:
...Milwaukee 2 (FINAL) Arizona 6 Chicago Cubs 5 (BOT 6TH) NY Mets 4 Colorado 5 (FINAL) Detroit...
指定的单词为" Colorado"。使用的语言是Kustom,但为了简单起见,请将语言视为带有lookbehinds的javascript。
我想要匹配:
NY Mets 4 Colorado 5 (FINAL)
我尝试过:(?<=\)).*?(Colorado).*?(?:\))
但它会从第一个&#34;)&#34开始返回匹配。到科罗拉多州之后的那个。
答案 0 :(得分:0)
从单词边界开始捕捉:
结束括号
\b[\w\s]*?Colorado[\w\s\(]*?\)
答案 1 :(得分:0)
试试这个(?!\s).*?Colorado.*?(?:\))
s = `...Milwaukee 2 (FINAL) Arizona 6 Chicago Cubs 5 (BOT 6TH)
NY Mets 4 Colorado 5 (FINAL) Detroit...`
m = s.match(/(?!\s).*?Colorado.*?(?:\))/gm)
console.log(m[0]);
`