【发布时间】:2016-08-18 14:35:02
【问题描述】:
需要帮助解决困扰我一段时间的问题!
我正在尝试创建一个匹配 URL 的 Apache AliasMatch 正则表达式。我遇到的问题是我在文件匹配部分中使用捕获组作为变量$0 $1 $2。本质上,我需要捕获 url 的 path/to/controller 部分来实际抓取我的文件,并且我希望在双斜杠之后(包括双斜杠)不使用任何捕获组。
http://domain.com/etc/xx/abc/path/to/controller//myDesiredMVCAction
问题本质上是以下表达式:
^/etc/(xx|yy)/(abc|xyz)/(.*)(?=//)(.*)
只匹配
http://domain.com/etc/xx/abc/path/to/controller//myDesiredMVCAction
而不是:
http://domain.com/etc/xx/abc/path/to/controller
考虑到双斜杠及其后面的所有内容都是可选的。
因此,当我通过附加? 使正则表达式成为可选时,它会通过包含//myDesiredMVCAction 部分来破坏捕获组..
^/etc/(xx|yy)/(abc|xyz)/(.*)(?=//)(.*)?
有可能实现我所追求的吗?
【问题讨论】: