正则表达式组
Regular expression groups
致所有正则表达式专家!我正在尝试弄清楚如何使用正则表达式将我的 url 分组。
示例:
site.com/user/account/info/settings
我希望能够捕获 user/accout/info
url NOT /settings
有谁能接受这个挑战并好心帮助我吗?谢谢!
如果你想获得 URL 的开头,试试这个:
(\/.*\/(?!.*\/.+))
输入:
site.com/foo/remove-me/
site.com/user/account/info/settings
site.com/foo/bar/remove-me
site.com/foo/remove-me?param1=true¶m2=hello+world
输出:
/foo/
/user/account/info/
/foo/bar/
/foo/
https://regex101.com/r/yI5rG4/2
在考虑了您在 post 下的所有评论后,我了解到您想获取控制器名称提取的最后一段。因此试试这个:
(?:\/(?!.*\/.+))([^\?\n]*)
用于这些输入:
site.com/foo/remove-me/
site.com/user/account/info/settings
site.com/foo/bar/remove-me
site.com/foo/remove-me?param1=true¶m2=hello+world
组 1 的输出:
remove-me/
settings
remove-me
remove-me
致所有正则表达式专家!我正在尝试弄清楚如何使用正则表达式将我的 url 分组。
示例:
site.com/user/account/info/settings
我希望能够捕获 user/accout/info
url NOT /settings
有谁能接受这个挑战并好心帮助我吗?谢谢!
如果你想获得 URL 的开头,试试这个:
(\/.*\/(?!.*\/.+))
输入:
site.com/foo/remove-me/
site.com/user/account/info/settings
site.com/foo/bar/remove-me
site.com/foo/remove-me?param1=true¶m2=hello+world
输出:
/foo/
/user/account/info/
/foo/bar/
/foo/
https://regex101.com/r/yI5rG4/2
在考虑了您在 post 下的所有评论后,我了解到您想获取控制器名称提取的最后一段。因此试试这个:
(?:\/(?!.*\/.+))([^\?\n]*)
用于这些输入:
site.com/foo/remove-me/
site.com/user/account/info/settings
site.com/foo/bar/remove-me
site.com/foo/remove-me?param1=true¶m2=hello+world
组 1 的输出:
remove-me/
settings
remove-me
remove-me