regex - 主网站中子链接的 URL 正则表达式
问题描述
我想为要在 WAF 中列入白名单的 URL 创建一个正则表达式。
对于子 URL,例如:
http://www.example.com/wp-admin/admin-ajax.php?action=aks_expt
和
http://www.example.com/wp-admin/admin-ajax.php?action=aks_expt&aks_ex1m_expt=1
我想,我设法将正则表达式用于起始部分:
(https:\/\/www\.|http:\/\/www\.^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$)
匹配到http://www.example.com或https://www.example.com
但我不确定如何使用子链接:
/wp-admin/admin-ajax.php?action=aks_expt
和
/wp-admin/admin-ajax.php?action=aks_expt&aks_ex1m_expt=1
我还是建了一个,但失败了:
https:\/\/www\.|http:\/\/www\.^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$\/wp-admin\/admin-ajax\.php\?action\=aks\_expt
解决方案
尝试以下正则表达式:
(?:https?://www\.example\.com)?/wp-admin/admin-ajax\.php\?action=aks_expt(?:&aks_ex1m_expt=1)?
演示
解释:
(?:https?:\/\/www\.example\.com)? match optional leading http/https
followed by domain
/wp-admin/admin-ajax\.php\?action=aks_expt mandatory path
(?:&aks_ex1m_expt=1)? optional query parameter
推荐阅读
- javascript - 在javascript中将数组本身合并到另一个具有相同键的数组中
- go - 如何使用 Ginkgo 和 Gomega 匹配私有结构类型?
- c++ - 设计模式:我应该在这里使用继承吗?
- boot - 显示器未物理连接时启动 RealVNC 延迟
- python-3.7 - aiohttp - 并发请求被挂起
- java - AccessibilityManager.sInstance 是否会导致内存泄漏?
- parallel-processing - 并行map和并行for循环的区别
- c# - 将匿名类型列表转换为特定类类型的列表
- generics - Swift 泛型字典或字典数组
- google-sheets - 我需要在 Google 表格中“加入”多个查找