Mat*_*att 9 regex perl url-rewriting
我有一个网址:
www.domain.com/first/second/last/
Run Code Online (Sandbox Code Playgroud)
如何获得斜杠之间的最后一个术语?即last使用正则表达式?
请注意,URL可能只是:
www.domain.com/last/
Run Code Online (Sandbox Code Playgroud)
要么:
www.domain.com/first/second/third/fourth/last/
Run Code Online (Sandbox Code Playgroud)
我需要提取最后一个术语,以便在使用PERL和REGEX的Zeus Server的Request Rewrite模块中使用.
在实现了一些答案之后,我才意识到我只需要在某个目录中的URL上进行匹配.
即
www.domain.com/directory/first/second/last/
Run Code Online (Sandbox Code Playgroud)
应该回来last.鉴于:
www.domain.com/first/second/last/
Run Code Online (Sandbox Code Playgroud)
不应该返回匹配.
Jos*_*ber 21
这是一个简单的正则表达式:
[^/]+(?=/$|$)
Run Code Online (Sandbox Code Playgroud)
应该匹配你扔的任何东西.
如果要查看特定目录,请使用以下命令:
/directory.*/([^/]+)/?$
Run Code Online (Sandbox Code Playgroud)
并且您的结果将在第一个捕获组中.
这个正则表达式(约瑟夫答案的略微修改版本)应为您提供最后一段,减去斜杠。
([^/]+)/?$
Run Code Online (Sandbox Code Playgroud)
您的结果将是第一个捕获组。