2017-03-16 41 views
0

我必須接受像這樣帶有參數的路徑路由控制器:url可選參數的正則表達式

/news/:id

和我得到這個正則表達式的ID:

:([\w]+)

但是,該參數可以使用此語法進行選擇:

/users/[:id]

如何修改正則表達式來捕獲這兩種情況?

+0

這裏有什麼實際的使用情況?你爲什麼用正則表達式解析這個路由佔位符? – 1252748

+0

https://regex101.com/r/M5wELN/2/ –

回答

0

正則表達式:(?:\:[\w]+|\[\:\w+\])

Regex demo

+0

謝謝,但這適用於:[id] not [:id] – ivop

+0

@ivop更新了我的帖子。你現在可以檢查。 –

0

我覺得這是一個A/B的問題,但是這會爲你問什麼工作:

\[?\w+]? 

假設你的路線佔位符只有小寫數字和數字。 當然,如果您提供了有關佔位符結構的更多詳細信息,它會發生變化。