CodeIgniter Route - 正则表达式匹配所有内容



我已经很久没有用CI编码了,我想更动态地重写一些我以前有过的路线。

出于某种原因,我添加的这个正则表达式匹配所有内容,我不知道为什么。

$route['([a-z]+-[a-z]+)'] = 'Main/example_function/$1';

它匹配尚未分配的所有其他路由,即使具有多个片段也是如此。它匹配的路由示例:

example.com/aaaaa
example.com/aaaaa-asd
example.com/aaaaa/aaaa

我只需要它来匹配这种风格的特定路线:

example.com/aaaaa-aaaaa

我在不同的路由中还有其他正则表达式,但形式为 example.com/test/([a-z]+),它们工作正常。

将其放在所有其他声明的路由之后不是一种选择,因为并非所有路由都在那里声明。

提前感谢!

你需要这个吗...

正则表达式:^example.com/[a-z]+-[a-z]+$

正则表达式演示

多亏了Sahil Gulati的回答,我发现了错误。正确的正则表达式是:

$route['([a-z]+-[a-z]+)'] = 'Main/example_function/$1';

它会正确匹配我想要的

谢谢!

最新更新