正则表达式 - 在第一场比赛后停止
RegEx - stop after first match
我们正在使用此正则表达式从主题中过滤票号。
这是我们正在使用的正则表达式:\[\#(.*)\]
主题通常是这样的:"[#20160708-0020] Hello blah blah"
正则表达式得到我们 "20160708-0020"
我们可以进一步使用它。
公司有人开始这样写邮件:"[#20160708-0020] Hello [SQL] blah blah"
所以正则表达式会得到我们 "20160708-0020] Hello [SQL"
这显然是不正确的。
有没有办法让正则表达式在第一次匹配后停止?谢谢! :)
https://regex101.com/r/sY4pG6/1
\[\#(.*?)\]
正则表达式中的 *
是贪心的。它会尽可能多地捕获。
上面的*?
偷懒了。它将尽可能少地捕获。这将使您的正则表达式在第一次匹配后停止。
为了在它进一步发展之前阻止它,您需要使您的表达式 lazy.
\[\#(.*?)\]
注意星号后面的问号。
我们正在使用此正则表达式从主题中过滤票号。
这是我们正在使用的正则表达式:\[\#(.*)\]
主题通常是这样的:"[#20160708-0020] Hello blah blah"
正则表达式得到我们 "20160708-0020"
我们可以进一步使用它。
公司有人开始这样写邮件:"[#20160708-0020] Hello [SQL] blah blah"
所以正则表达式会得到我们 "20160708-0020] Hello [SQL"
这显然是不正确的。
有没有办法让正则表达式在第一次匹配后停止?谢谢! :)
https://regex101.com/r/sY4pG6/1
\[\#(.*?)\]
正则表达式中的 *
是贪心的。它会尽可能多地捕获。
上面的*?
偷懒了。它将尽可能少地捕获。这将使您的正则表达式在第一次匹配后停止。
为了在它进一步发展之前阻止它,您需要使您的表达式 lazy.
\[\#(.*?)\]
注意星号后面的问号。