regex - 正则表达式 PCRE 模式选择以 /first-url-segment/ 开头的所有路由,并且在 URL 的后半部分不包含“iframe”
问题描述
我试图过滤掉以某个字符串开头但没有“iframe”子字符串的路径。这似乎对我有用 https://regex101.com/r/rIMFDP/1
^\/csr_and_sustainability_information\/(?!.*iframe)
但在亚马逊这个正则表达式不起作用https://docs.aws.amazon.com/waf/latest/developerguide/waf-regex-pattern-set-creating.html
它指出
AWS WAF 支持 PCRE 库 libpcre 使用的模式语法
我想知道是否有可能在该标准内重现我想要的东西
所以我想选择所有以 /csr_and_sustainability_information/ 开头的路由并且不要在 URL 的后半部分包含“iframe”
解决方案
您可以使用符合 POSIX 的正则表达式,例如
^/csr_and_sustainability_information/([^i]|i(i|f(i|r(i|a(i|mi))))*([^fi]|f([^ir]|r([^ai]|a([^im]|m[^ei])))))*(i(i|f(i|r(i|a(i|mi))))*(f(r?|ram?))?)?$
该([^i]|i(i|f(i|r(i|a(i|mi))))*([^fi]|f([^ir]|r([^ai]|a([^im]|m[^ei])))))*(i(i|f(i|r(i|a(i|mi))))*(f(r?|ram?))?)?$
部分确保 . 之后没有iframe
字符串/csr_and_sustainability_information/
。
推荐阅读
- single-sign-on - ADFS 中信赖方信任的 App Embed 链接是什么
- ios - Flutter iOS 14.5 - 使用新的跟踪/隐私指南处理外部网站 cookie
- python - 跳过部分截图
- matlab - 在 MATLAB 中使用 sendmail 指定 cc 地址
- python - 在不启动 webdriver 的情况下设置 python selenium webdriver
- flutter - Vercel 上的 Flutter 项目部署
- node.js - 缓慢的 postgres 结果
- python - 当 RGBA 颜色在 RGB 颜色上渲染时产生的 RGB 颜色
- typescript - TypeScript Facade 组件只是动态替换为其他组件
- c++ - 从程序集中调用 c++ 函数