任何人都可以帮助我或指导我构建一个正则表达式来验证重复数字
例如:11111111,2222,99999999999等
它应该验证任何长度。
答案 0 :(得分:44)
\b(\d)\1+\b
说明:
\b # match word boundary
(\d) # match digit remember it
\1+ # match one or more instances of the previously matched digit
\b # match word boundary
如果1
也应该是有效匹配(零重复),请使用*
代替+
。
如果您还想允许更长的重复次数(123123123
),请使用
\b(\d+)\1+\b
如果正则表达式应该应用于整个字符串(而不是在较长的字符串中查找“repeat-numbers”),请使用行尾和第{}}代锚:
\b
编辑:如何匹配完全相反的,i。即一个数字,其中并非所有数字都相同(除非整个数字只是一个数字):
^(\d)\1+$
答案 1 :(得分:9)
要匹配单个数字的重复次数,您可以写([0-9])\1*
。
这会将[0-9]
与一个组匹配,然后匹配该组的0次或多次重复(\1
)。
您可以编写\1+
来匹配一个或多个重复。
答案 2 :(得分:5)
使用反向引用:
(\d)\1+
可能你想使用某种锚^(\d)\1+$
或\b(\d)\1+\b
答案 3 :(得分:1)
我使用此表达式为我提供了所有相同数字的电话号码。
从本质上讲,这意味着给定数字原始重复次数为9,这导致连续出现10个相同数字。
([0-9])\ 1 {9}
答案 4 :(得分:0)
您可以通过反向引用轻松获取重复的文字或数字,请看下面的示例:
这段代码只是意味着[]中的模式。 ([内部模式])\1
将找到与内部模式相同的内容。
答案 5 :(得分:0)
Client
匹配任何重复的数字