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

正则表达式负向预查需求:匹配结尾含4+数字的地址并排除指定前缀

解决正则匹配问题

你的正则问题出在只排除了APT 和BOX (带空格)的情况,但没覆盖APT、BOX直接跟数字的场景(比如BOX4044),所以那些不该匹配的案例会被误判。

符合需求的正则表达式:

^.*(?<!APT)(?<!BOX)(?<!APT )(?<!BOX )\d{4,}$

正则说明:

  • ^.*:匹配字符串开头到数字前的任意内容
  • (?<!APT):负向回顾断言,确保数字前不是APT
  • (?<!BOX):确保数字前不是BOX
  • (?<!APT ):确保数字前不是APT (带空格)
  • (?<!BOX ):确保数字前不是BOX (带空格)
  • \d{4,}$:匹配结尾的4位及以上数字

如果想更简洁,也可以合并成:

^.*(?<!(APT|BOX)(?:\s)?)\d{4,}$

这里(?:\s)?匹配可选的空格,用非捕获组(?:...)避免额外分组。

测试验证:

  • 匹配:HITME 1234、HITME 12345、HITME1234
  • 不匹配:BOX 1234、BOX 12345、BOX4044、APT 1234、APT 12345、NONHIT123、NONHIT 123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:25:16