正则表达式匹配关键字后跟任何东西,但停在下一个关键字

时间:2015-03-26 08:23:51

标签: javascript regex

我想在ThisAnything

中匹配ThatAnythingThisAnthingThatAnything(两场比赛)

到目前为止,我已经/(?:This|That)(?:.*)/g但这将匹配ThisAnthingThatAnything(一场比赛,但我想要两场比赛)。我该如何实现这一目标?感谢

3 个答案:

答案 0 :(得分:1)

使用正向前瞻并捕获两组中的两个子串:

(This.*?(?=This|That|\b)|That.*?(?=This|That|\b))

请参阅example

结果:

MATCH 1
1.  [0-11]  `ThisAnthing`
MATCH 2
1.  [11-23] `ThatAnything`

答案 1 :(得分:1)

split(/(?=This|That)/g)应该这样做:



s = "ThisAnthingThatAnythingThatMoreThisMore"

a = s.split(/(?=This|That)/g)
document.write(a)




答案 2 :(得分:0)

你想要一个不情愿的量词,*?;所以你的正则表达式变成了(This|That)(.*?)