【发布时间】:2017-09-13 18:09:35
【问题描述】:
例如我有这个正则表达式:
([0-9]{1,4})([0-9])
在使用字符串“3041”进行测试时,这给了我这些匹配组:
如您所见,即使量词是贪婪的,group2 也会在 group1 之前填充。
我怎样才能确保在 group2 之前填充 group1?
EDIT1:我想要相同的正则表达式,但 group1 和 group2 中的“3041”为空。
EDIT2:我希望 group1 和 group2 中的“3041”为空。而且,是的,我希望正则表达式不匹配!,
【问题讨论】:
-
你想达到什么目的?
[0-9]是强制模式。如果将第一个设为所有格,则整个模式将永远不会匹配任何字符串。 -
@WiktorStribiżew 我想拥有相同的正则表达式,但在捕获组 1 和捕获组 2 中具有“3041”
-
使最后一个可选 -
([0-9]{1,4})([0-9]?) -
@WiktorStribiżew 抱歉,让我再考虑一下,我面前有一个非常复杂的正则表达式,我认为我过于简化了。
-
好的,慢慢来。
标签: regex