2016-04-29 138 views
0

我想弄清楚如何使;模式不匹配

/section/hello-news/goodbye-news

匹配時,這種模式被使用(單組)

/section/([a-zA-Z0-9\-]+)

但隨着我把它設置只/section/hello-news比賽的方式。我哪裏錯了?

+0

你有3個部分,所以使用'/ section /([a-zA-Z0-9-] +)/([a-zA-Z0-9-] +)' –

+2

你沒有斜槓' []' – Kent

+0

@WiktorStribiżew不是創建兩個組?我將它匹配到可以是一個或另一個的路徑 –

回答

1

你錯過了斜槓/,試試這個:

/section/([A-Za-z0-9\/-]+) 

Regex101 Demo

+0

輝煌,正是我所需要的。 –

0

你缺少對hello-news/,並允許其重複。

/section(/[a-zA-Z0-9\-]+)+ 

這樣,它匹配任意數量的子目錄。即'/ section/foo/bar/baz'。

如果您使用的是比賽,你還可以通過使非獲取忽略斜線:

/section/(?:/([a-zA-Z0-9\-]+))+