2016-10-31 20 views
2

Here is what I've tried so farURL(文字列)に言語を追加/置換するにはどうすればよいですか?

/(?:\/(en(\?|$)|fa(\?|$)))|\?/ 

入力:

http://localhost:8000/search/fa?q=sth 
http://localhost:8000/search?q=sth 
http://localhost:8000/search 
http://localhost:8000/search/fa 

予想される出力:

http://localhost:8000/search/en?q=sth 
http://localhost:8000/search/en?q=sth 
http://localhost:8000/search/en 
http://localhost:8000/search/en 

ご覧のとおり、?と一致する必要がありますが、選択する必要はありません。また、私は/enを3番目のURLの末尾に追加する必要があります。

パターンを修正するにはどうすればよいですか?

答えて

1
^.*?\/(\w{2,})(?:\?(.*?)|)$ 

これは、ここで

がこの正規表現と単純な実装で動作する可能性があります。

DEMO

+1

あなたはあなたの答えに、いくつかの説明を追加して、私のような初心者のためにそれをより理解しやすく場合、それははるかに良いでしょう。 – Alex

関連する問題