带有花括号数字的正则表达式

3

我得到了这个正则表达式:

^\+[0-9]{12,12}$

有人可以解释一下花括号{12,12}中的两个值的含义吗?


4
数字 [0-9] 必须出现至少 12 次,最多 12 次。这与写 [0-9]{12} 相同。 - nu11p01n73R
1个回答

10

{12,12} 是一个量词符号(参见限制重复部分),告诉正则表达式引擎前面的子模式应该重复最少12次,最多12次。在^+[0-9]{12,12}$中,它意味着0-9范围内的数字应该恰好重复12次。字符串应以加号开头,且只包含加号+12个数字。

语法为{min,max},其中min是零或正整数,表示最小匹配次数,max是一个等于或大于min的整数,表示最大匹配次数。如果逗号存在但省略了max,则最大匹配次数为无限。因此,{0,1}?相同,{0,}*相同,{1,}+相同。省略逗号和max告诉引擎精确重复令牌min
因此,我们只需使用{12}(它等同于{12,12}):
^\+[0-9]{12}$

请查看 在regex101.com上的演示


4
换句话说,只需简单地使用 {12} - Bart Kiers
是的,那正是我想在最后说的 :) - Wiktor Stribiżew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接