从 这个 站点 的 另 一 个 线程 中 , 我 发现 了 这个 正则 表达式 , 我 用 它 来 检测 AWS WAF 规则 的 所有 ctrl 字符 :
(?i)0x([01][0-9A-F]|7F)
中 的 每 一 个我 的 问题 是 它 的 限制 性 太 强 ;它 阻止 了 包含 以下 内容 的 URI :
/...120x120.png
格式如何 调整 正则 表达式 以 检测 0x12 而 不是 ...120x120... ?
0x12
...120x120...
lqfhib0f1#
您可以使用负lookbehind:
(?i)(?<!\d)0x([01][0-9A-F]|7F) ^^^^^^^
(?i)
(?<!\d)
0x
([01][0-9A-F]|7F)
0
1
7F
1条答案
按热度按时间lqfhib0f1#
您可以使用负lookbehind:
(?i)
-不区分大小写匹配(?<!\d)
-左侧不允许数字0x
-0x
字串([01][0-9A-F]|7F)
-组1:0
或1
,然后是十六进制字符,或7F