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

如何修改正则表达式以匹配13位且不以3400开头的数字?

解决方案:调整正则匹配13位非3400开头的数字

我来帮你调整正则表达式,完美满足你的需求!

最终正则表达式

^(?!3400)\d{13}$

逐部分解释

  • ^:锚定字符串的起始位置,确保我们从开头开始检查
  • (?!3400):负向前瞻断言——它会检查当前位置(也就是字符串开头)后面是否紧跟着3400,如果是则直接排除该字符串的匹配
  • \d{13}:匹配恰好13个数字字符(\d代表任意数字,{13}指定长度为13)
  • $:锚定字符串的结束位置,确保整个字符串刚好是13位,没有多余字符

测试案例

  • ✅ 匹配:1234567890123(13位数字,不以3400开头)、3401987654321(前四位是3401,符合要求)
  • ❌ 不匹配:3400123456789(以3400开头)、123456789012(仅12位)、12345678901234(14位)、abc12345678901(包含非数字字符)

补充说明

如果你的正则引擎不支持前瞻断言(这种情况很少见),也可以用分支写法替代,不过前瞻版本更简洁高效:

^(?:[0-9]{3}[0-24-9]|[0-9]{2}[0-24-9][0-9]|[0-9][0-24-9][0-9]{2}|[0-24-9][0-9]{3})\d{9}$

这个写法的核心是:让前四位中至少有一位不符合3400的对应位置,再搭配后面9位数字凑够13位,但显然前瞻版本更易读和维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:13:15