You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改正则表达式仅匹配9位手机号的5ABXYXYXY模式

解决方案

要精准匹配9位、符合5ABXYXYXY模式的手机号,你可以使用以下正则表达式:

r"^5(\d)(\d)(\d)(\d)\3\4\3\4$"

规则说明

这个正则的结构完全贴合需求:

  • ^5:强制第一位为数字5
  • (\d):依次捕获第二位(A)、第三位(B)、第四位(X)、第五位(Y)的数字
  • \3\4\3\4:指定第六-第七位必须是X+Y,第八-第九位也必须是X+Y,严格实现XYXYXY的重复模式
  • $:确保整个字符串刚好9位,避免匹配更长或更短的号码

原正则出错原因

你之前使用的r"^\d*(\d)(\d)(?:\1\2){2}\d*$"存在两个核心问题:

  1. 未限制开头必须是5,也未固定总长度为9位,导致任何包含ABABAB序列的数字串都会被误匹配(比如末尾出现重复对的555555532)
  2. 允许ABABAB序列出现在号码的任意位置,而非严格限定在第4-9位的指定位置

测试验证

  • 正确匹配:529434343、512787878
  • 拒绝错误匹配:555555532、512345678

内容的提问来源于stack exchange,提问作者Leena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:10:55