2017-09-12 8 views
-3

私はRegexで役に立たず、常に一貫していないURLの部分を削除したいと思います。Regex - URLパスの一部を削除する

URLは次のようになります。

www.test.com /EN/ restOfPath

または

www.test.com /EN /表すen_GB/ restOfPath

国によっては値が次のように変更されることがあります:

www.test.com /ES/ restOfPath

または

www.test.com /ES/es_ESの/ restOfPath

私はそのために探しています途中で太字の部分を削除して、残ったパスを分割して、言語/場所に依存しない論理的な名前を作成することができます。

これは、クライアントが新しいWebサイトを起動したときにクライアントが正しく実装できるようになるまで、データレイヤーを構築するための回避策です。私は、clunkyであるが、クリーナーソリューションを望む回避策として、if else文を作成することができました。

+0

一般的に私たちは、解決に取り組んできた人々が問題を解決するのを手助けしたいと考えています。あなたはこれのための正規表現のソリューションを試してみましたか?多分あなたはいくつかの正規表現のチュートリアルを行う必要がありますか? –

+0

[javascriptでURLをホスト名とパスに解析するにはどうすればよいですか?](https://stackoverflow.com/questions/736513/how-do-i-parse-a-url-into-hostname-and- path-in-javascript) –

+0

私はJavaScriptの専門家ではありませんが、上記のリンクをたどっていると、URL/URIの解析に役立つライブラリがすでにいくつかあることがわかります。私は可能な限りそれらを使用して開始し、後でのみ正規表現を使用することに頼る。 –

答えて

0

おそらくこれは、この例では、その後2つのαとの最初の/を見つけるしようとしている、とaa_AA建設とおそらく他の/あなた

(?:\/([a-z]{2})(?:\/([a-z]{2}_[A-Z]{2}))?) 

のに役立ちます。

私は、これはあなたが後にしているものであると考えていregex101

1

であなたのコードサンプルを得た:

\/.*(?=\/.*?)

https://regex101.com/r/OZIseI/4

それは最後/を除外するために先に正の外観を使用しています試合から

enter image description here