2016-11-05 4 views
1

をルーティングの両方"/""/ホーム"パス、同じページ( "/ホーム")に直接ユーザー。
regexexpress routingでこれを書く方法を教えてください。私はこれを試した:
router.route('/|/home')
しかし、それは動作しません。"OR" Expressの正規表現では、オペレータが、私が欲しい

+1

「router.route(/^\ /(home)?$ /」 ' –

+0

srを試してください。できます。 tnx – somename

答えて

1

あなたは

router.route(/^\/(home)?$/) 

正規表現の一致を使用することがあります。

  • ^ - 文字列
  • の開始
  • \/ - スラッシュ
  • (home)? - リテラル文字のオプションのシーケンスhome
  • $ - 文字列の最後。

それは両方の文字列の先頭と最後に固定されている2つの選択肢、\/\/home/^(\/|\/home)$/と同じで、基本的に、単にオプションのグループ(すなわち(home)?)が一致するように、はるかに最適な方法であります2つの選択肢。

ここでも非キャプチャグループを使用することができます(さらには推奨されます)が、読みにくい小さなビットです:/^\/(?:home)?$/

関連する問題