regex Java中的正则表达式匹配除某个子字符串之外的所有内容

bihw5rsg  于 2023-05-01  发布在  Java
关注(0)|答案(1)|浏览(174)

我正在寻找一个正则表达式,它在没有特定子串的情况下尽可能多地匹配。例如,在“19weojustartspdfoj0u23stop308rstop23ij”中,我想用“start([^stop]*)”这样的表达式匹配子字符串“spdfoj0u23”。同样的表达式应该匹配“12ejipstartq039sdfkjfds”中的“q039sdfkjfds”(这里我们没有stop,因此我们得到“start”之后的所有内容)。

vdgimpew

vdgimpew1#

您可以使用lookaroundAssert来标记匹配的开始和结束。使.*懒惰,将采取第一个可能的机会结束比赛:

(?<=start).*?(?=stop|$)

$与输入结束匹配,这将在没有stop跟随时发生。

相关问题