Regex Perl/lighttpd正则表达式
我在lighttpd中使用regex重写URL,但我无法编写一个符合我要求的表达式(我认为这是非常基本的,显然不是,我可能遗漏了一些东西) 假设我有这个URL:Regex Perl/lighttpd正则表达式,regex,perl,lighttpd,Regex,Perl,Lighttpd,我在lighttpd中使用regex重写URL,但我无法编写一个符合我要求的表达式(我认为这是非常基本的,显然不是,我可能遗漏了一些东西) 假设我有这个URL:/page/variable\u to\u pass/或/page/variable\u to\u pass/ 我想将URL重写为:/page.php?var=variable\u to\u pass 我已经有了一些规则,比如^/login/(.*?)$来处理特定的页面,但是我想创建一个可以匹配任何页面的规则,而不需要每页使用一个表达式
/page/variable\u to\u pass/
或/page/variable\u to\u pass/
我想将URL重写为:/page.php?var=variable\u to\u pass
我已经有了一些规则,比如^/login/(.*?)$
来处理特定的页面,但是我想创建一个可以匹配任何页面的规则,而不需要每页使用一个表达式
我试过:^/([^.?]*)
,但它匹配整个/page/variable\u to\u pass/
,而不仅仅是page
感谢您的帮助,谢谢 试试看:
/([^.?])+/([^.?])+/
这将为您提供两个匹配项。请尝试:
/([^.?])+/([^.?])+/
这将为您提供两个匹配项。此regexp将满足您的需要
/([^\/]+)/(.+)
第一个匹配项是页面名称,第二个变量值是这个regexp应该满足您的需要
/([^\/]+)/(.+)
第一个匹配是页面名称,第二个变量值谢谢,即使结尾有尾随/也会匹配。之后是否可以匹配变量?如果我有
/page/var1/var2/
,我将如何匹配这三个呢?我想你可以将它修改为/([^\/]+)(?:/([^\/]+)*
,这样它将匹配所有的变量,即使最后有一个尾随/也会匹配这两个变量。之后是否可以匹配变量?如果我有/page/var1/var2/
,我将如何匹配这三个变量?我认为您可以将其修改为/([^\/]+)(?:/([^\/]+)*
,这样它将匹配所有变量