次のようなURLに一致するように生成された長い正規表現があります
/^\/([^\/.?]+)(?:\/([^\/.?]+)(?:\/([^\/.?]+)(?:\.([^\/.?]+))?)?)?$/
一致します:
/foo/bar/1.html
なので['foo', 'bar', '1', 'html']
Javascript では、ユーザーが URL を入力するときに一致する部分を取得したいと思います (typeahead のように)。たとえば、次のように入力したとします。
/foo
一致したこと/foo
がわかりますが、正規表現全体が満たされていません。Rubyは、次のような一致する部分要素のみを含む配列を返すことができます:['foo', nil, nil, nil]
これは可能ですか、またはJavascriptで簡単に実行できますか?