这个问题在这里已经有了答案:
My regex is matching too much. How do I make it stop? [duplicate]
(5 个回答)
5年前关闭。
我们正在使用这个正则表达式来过滤主题中的票号。
这是我们使用的正则表达式:\\[\\#(.*)\\]
主题通常是这样的:"[#20160708-0020] Hello blah blah"
正则表达式得到我们 "20160708-0020"
我们可以进一步使用它。
公司里有人开始写这样的邮件:"[#20160708-0020] Hello [SQL] blah blah"
所以正则表达式会得到我们 "20160708-0020] Hello [SQL"
这显然是不正确的。
有没有办法告诉正则表达式在第一场比赛后停止?谢谢! :)
最佳答案
https://regex101.com/r/sY4pG6/1
\[\#(.*?)\]
*
在你的正则表达式中是贪婪的。它将尽可能多地捕获。*?
以上是懒惰。它将尽可能少地捕获。这将使您的正则表达式在第一场比赛后停止。
关于RegEx - 在第一场比赛后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38400595/