标签: regex
我试图为某些邮政编码写一个正则表达式并注意到这个奇怪之处。
在/^((\d|-){5,10})/上使用'20866 United States'会产生匹配组:
/^((\d|-){5,10})/
'20866 United States'
1)20866
2)6
我不明白第二场比赛。有什么想法吗?
答案 0 :(得分:6)
(\d|-)也是一个群组,当你有一个重复的群体时,最后一次重复通常是被捕获的群体。 (有些引擎也可以捕获所有引擎。)
(\d|-)
您可以将其设为非捕获:
(?:\d|-){5,10}
或完全避开该组:
[\d-]{5,10}