You need to enable JavaScript to run this app. 含依赖条件的正则匹配带$插入的b7字符串问题求解
优惠活动
大模型
产品
解决方案
定价
更多

含依赖条件的正则匹配带$插入的b7字符串问题求解

正则匹配规则修正方案

问题根因

原有正则的漏洞出在$的优先级处理逻辑:$不属于前缀排除范围[^A-Za-z!],当!和b之间插入$时,前缀规则会直接匹配$,完全跳过对!的合法性校验,才会出现shot!$b7被误匹配的问题。

最终正则

(?<![A-Za-z])(?<!(?<!matrix)!)\$*b\$*7(?=\D|$)

规则拆解

  • 核心匹配逻辑\$*b\$*7:保留原有对任意位置插入$的b7串的匹配能力
  • 前缀字母校验(?<![A-Za-z]):确保目标串前面不能紧邻大小写英文字母,符合前缀不能包含英文字母的要求
  • 感叹号规则(?<!(?<!matrix)!):通过嵌套负向环视实现:如果目标串前方任意位置存在!,则!前面必须是完整单词matrix,不受!和b之间插入的$数量影响
  • 后缀校验(?=\D|$):确保目标串后面要么是非数字字符,要么是行尾,避免误匹配带后续数字的串如b71

测试验证

匹配成功用例

  • 核心匹配用例:b7、b$7、$b7、$b$7
  • 合法前缀用例:= b7、matrix!b7、ok?b7、_b7、matrix!$$$b$7

匹配失败用例

  • 非法字母前缀:bb7、ab$7
  • 非法感叹号前缀:ok!b7、= !b7、!b7、shot!$b7
  • 非法后缀:b72、$b$73

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 19:57:01