2017-03-16 9 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]ではない – ivop

+0

@ivopは私の投稿を更新しました。今すぐチェックすることができます。 –

0

私は、これはA/Bの問題だと思うが、これは、あなたが求めてきました何のために動作します:

\[?\w+]? 

は、あなたのルートプレースホルダのみ小文字の数字と数字ですと仮定します。 もちろん、プレースホルダの構造に関する詳細を提供した場合は変更されます。