我试图将正则表达式添加到klein网址,以后可以使用资本或斜杠。
$klein->respond('GET', '@([Hh]ome[\\/]?)', function() {
return 'Home';
});
然而,这个正则表达式对我来说并不起作用 - 它根本无法识别它。
我也在没有削减的情况下尝试了它,所以它只会识别资本,如下:
'@([Hh]ome)'
基本上我希望它能够做到以下几点:
site.com/home
site.com/home /
site.com/Home
site.com/Home /
答案 0 :(得分:0)
([Hh]ome[\\/]?)
不是有效的正则表达式。问题是最后的字符类,即[\\/]
。斜杠(/
)需要被转义,但你不能通过转义反斜杠(转义)字符(\
)来做到这一点。您所写的正则表达式无效,我很惊讶它没有抛出错误。 (你确定它不是吗?)
无论如何,你试图说"可选的尾随斜杠,"这可以写成\/?
。注意我们如何逃避斜线。如果你想使用一个字符类,你可以把它放在方括号内,如下所示:[\/]
。
这个正则表达式应该这样做。
[Hh]ome\/?