我正在try 为电话号码编写一个由9个固定数字组成的正则表达式模式.
我想识别有两个数字交替四次的数字,例如5XYXYXYXY
我使用了下面的示例
number = 561616161
我try 了下面的模式,但它不准确
^5(\d)(?=\d\1).+
谁能指出我做错了什么?
我正在try 为电话号码编写一个由9个固定数字组成的正则表达式模式.
我想识别有两个数字交替四次的数字,例如5XYXYXYXY
我使用了下面的示例
number = 561616161
我try 了下面的模式,但它不准确
^5(\d)(?=\d\1).+
谁能指出我做错了什么?
我会使用:
^(?=\d{9}$)\d*(\d)(\d)(?:\1\2){3}\d*$
演示
个
以下是对这种模式的解释:
^
(?=\d{9}$)
恰好是9位数字\d*
匹配可选的前导数字(\d)
捕获\1
中的一个数字(\d)
捕获\2
中的另一个数字(?:\1\2){3}
再匹配XY组合3次\d*
多个可选数字$
数字的末尾