我正在寻找一个正则表达式,它在没有特定子串的情况下尽可能多地匹配。例如,在“19weojustartspdfoj0u23stop308rstop23ij”中,我想用“start([^stop]*)”这样的表达式匹配子字符串“spdfoj0u23”。同样的表达式应该匹配“12ejipstartq039sdfkjfds”中的“q039sdfkjfds”(这里我们没有stop,因此我们得到“start”之后的所有内容)。
vdgimpew1#
您可以使用lookaroundAssert来标记匹配的开始和结束。使.*懒惰,将采取第一个可能的机会结束比赛:
.*
(?<=start).*?(?=stop|$)
$与输入结束匹配,这将在没有stop跟随时发生。
$
stop
1条答案
按热度按时间vdgimpew1#
您可以使用lookaroundAssert来标记匹配的开始和结束。使
.*
懒惰,将采取第一个可能的机会结束比赛:$
与输入结束匹配,这将在没有stop
跟随时发生。