我正在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*多个可选数字
  • $数字的末尾

Python相关问答推荐

处理带有间隙(空)的duckDB上的重复副本并有效填充它们

将pandas Dataframe转换为3D numpy矩阵

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

joblib:无法从父目录的另一个子文件夹加载转储模型

从嵌套的yaml创建一个嵌套字符串,后面跟着点

Polars asof在下一个可用日期加入

为什么np. exp(1000)给出溢出警告,而np. exp(—100000)没有给出下溢警告?

处理具有多个独立头的CSV文件

手动设置seborn/matplotlib散点图连续变量图例中显示的值

OpenGL仅渲染第二个三角形,第一个三角形不可见

如何在Python请求中组合多个适配器?

如何在Gekko中使用分层条件约束

在电影中向西北方向对齐""

使用嵌套对象字段的Qdrant过滤

是否需要依赖反转来确保呼叫方和被呼叫方之间的分离?

在Django REST框架中定义的URL获得404分

PyTorch变压器编码器中的填充掩码问题

设计添加和搜索词的数据 struct :Leetcode211

如何正确设置ALLOWED_HOST以允许网络中的其他计算机访问Web

如何在函数签名中输入数据类字段