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

Regex capture last 4 same number

我有这样的 phone 号码:0988523333

此正则表达式匹配:

/(\d){3}$/

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

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

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

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

RegEx Demo

这将确保我们在末尾匹配精确的 4 个数字重复实例

正则表达式分解:

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