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


How can I match 4 repeating numbers using regex (PCRE)

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

我怎样才能调整这个答案来做到这一点?

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

/('d)'1{3}/

这将匹配一位数('d),然后在'1{3}匹配该数字 3 次。

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

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

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

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

或者,如果您愿意:

'b('d)'1'1'1'b