regex Ctrl Char正则表达式限制性太强

x4shl7ld  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(102)

从 这个 站点 的 另 一 个 线程 中 , 我 发现 了 这个 正则 表达式 , 我 用 它 来 检测 AWS WAF 规则 的 所有 ctrl 字符 :

(?i)0x([01][0-9A-F]|7F)

中 的 每 一 个
我 的 问题 是 它 的 限制 性 太 强 ;它 阻止 了 包含 以下 内容 的 URI :

/...120x120.png

格式
如何 调整 正则 表达式 以 检测 0x12 而 不是 ...120x120...

lqfhib0f

lqfhib0f1#

您可以使用负lookbehind:

(?i)(?<!\d)0x([01][0-9A-F]|7F)
    ^^^^^^^
  • 详细数据 *:
  • (?i)-不区分大小写匹配
  • (?<!\d)-左侧不允许数字
  • 0x-0x字串
  • ([01][0-9A-F]|7F)-组1:01,然后是十六进制字符,或7F

相关问题