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

正则表达式怎么用?如何编写符合指定规则的regex过滤器?

正则表达式修正方案

原写法存在的问题

  • 末尾字符匹配规则错误:[A-Y^O]中^仅在字符组开头时表示否定,放在中间会被识别为普通字符匹配,无法排除字母O
  • 未排除8位数字全为0的场景:缺少针对连续8个0的否定判断
  • 缺少结束锚点$:会错误匹配长度超过11位、且前11位符合规则的字符串
  • 冗余的{1}量词:正则默认匹配1次,无需显式标注

最终可用正则

^[A-M][A-L](?!0{8})\d{8}[A-NP-Y]$

规则拆解(对应需求)

  • ^:匹配字符串开头,确保从第一个字符开始校验
  • [A-M]:匹配第一个字符,范围为大写字母A-M
  • [A-L]:匹配第二个字符,范围为大写字母A-L
  • (?!0{8}):负向零宽断言,判定接下来的8个字符不能全为0,不占用匹配位置
  • \d{8}:匹配第3到第10位的8个数字
  • [A-NP-Y]:匹配最后一个字符,范围为大写字母A-Z,直接排除O、Z两个不符合要求的字符
  • $:匹配字符串结尾,确保总长度刚好为11位

校验示例

  • 符合规则:AB00001000C、ML12345678P
  • 不符合规则:AB00000000C(8位数字全0)、AB12345678O(末尾为O)、AB12345678Z(末尾为Z)、NB12345678A(首字符超出A-M范围)、AM12345678A(第二个字符超出A-L范围)、AB12345678A1(长度超出11位)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:54:00