正则表达式捕获最后4个相同的数字

时间:2016-03-02 07:32:50

标签: regex match phone-number

我有这样的电话号码:0988523333

此正则表达式匹配:

/(\d)\1{3}$/

但它也匹配这些数字,如:2961533333或1872333333

如何编写匹配第一个数字的模式(0988523333)?

1 个答案:

答案 0 :(得分:2)

您可以使用2个反向引用:

(^|\d)((?!\1)\d)\2{3}$

RegEx Demo

这将确保我们在最后匹配精确4位重复的数字实例。

RegEx分手:

(^|\d)     # matches a digit or line start and captures it as group #1
((?!\1)\d) # matches next digit if it is not same as group #1 and captures it as group #2
\2{3}      # matches 3 instances of group #2