正则表达式匹配slug除了特定的开始单词

时间:2014-08-26 01:29:22

标签: php regex

我需要创建一个匹配slug的路由模式,但不是只包含单词或具有尾部斜杠的特定单词。

我试过了:

^(?!(admin|blog)).*$

和许多各种模式。但仍然没有成功。

预期:

admin                //not match
blog                 //not match
blog/                //not match
admin-test           //match
test-admin           //match
blog-and-blogwalking //match
any-slug             //obviously match

我在正则表达式方面不太好。希望有人可以提供帮助。感谢。

2 个答案:

答案 0 :(得分:1)

你可以试试下面的正则表达式,

^(?:(?!^(?:admin|blog\/?)$).)*$

DEMO

答案 1 :(得分:1)

您可以使用以下正则表达式。

^(?!(?:admin|blog)/?$).*$

Live Demo