如何使用正则表达式(PCRE)匹配4个重复数字

时间:2012-07-17 14:46:12

标签: php regex pcre

我想检测用户选择的引脚是否包含4个相同的数字,例如1111或2222.我在PHP中使用preg_match。

我如何调整此answer来执行此操作?

3 个答案:

答案 0 :(得分:9)

您可以使用此正则表达式:

/(\d)\1{3}/

匹配单个数字(\d),然后将该数字与\1{3}相匹配。

答案 1 :(得分:2)

count(array_unique(str_split($pin))) > 1

答案 2 :(得分:1)

根据您链接的答案进行调整:

\b(\d)\1{3}\b

不是使用匹配第一个数字的任意重复次数的\1+,而是用\1{3}替换它,只允许第一个数字的三次重复,从而为您提供所需的四位数字匹配时。

或者如果您愿意:

\b(\d)\1\1\1\b