此问题在此处已有答案:
Regular expression to stop at first match(9个答案)
9天前关闭
我使用的是这个工作正常的正则表达式
第一个月
但是当字符串看起来像这样的时候,我只想得到第一个值,它会得到最后一个值。[Ticket ID: #12345] test [Ticket ID: #54321] test2
个
我在正则表达式中添加了?
,但没有任何区别^.*\[Ticket ID\: \#(\d*?)\].*$
个
此问题在此处已有答案:
Regular expression to stop at first match(9个答案)
9天前关闭
我使用的是这个工作正常的正则表达式
第一个月
但是当字符串看起来像这样的时候,我只想得到第一个值,它会得到最后一个值。[Ticket ID: #12345] test [Ticket ID: #54321] test2
个
我在正则表达式中添加了?
,但没有任何区别^.*\[Ticket ID\: \#(\d*?)\].*$
个
2条答案
按热度按时间jhdbpxl91#
问题是
^.*
在开始时是贪婪的,所以它会尽可能多地匹配,同时仍然允许regexp的其余部分匹配。如果你把它改为^.*?
,你会得到第一个匹配。但实际上您根本不需要匹配票号之前的任何内容。只需使用
字符串
也不需要转义
:
或#
,它们在正则表达式中没有特殊意义。这将返回第一个匹配。yws3nbqq2#
使用 lazy-quantifier 作为第一个 quantifier。
字符串
或者,使用 match pattern。
型