2016-11-15 29 views
1

私は、現在のURLがあります。正規表現マッチングのURL

ristoranti/(?!location$).*)?(.+?)/(.+?) 

ristoranti/location/latvia/riga/other-tag 

を私が試したものをここでlocationセグメント

を持っている場合は、URLを取得しない正規表現を必要としますURLを取得する必要があります。

ristoranti/latvia/riga/other-tag 

私はregexpとはあまり良くはありませんが、最初のセグメントshoulgがすべてlocation以外のものになるのは間違っていますか?

+0

可能な複製(http://stackoverflow.com/questions/ [文字列が有効なURLであるかどうかをチェックするための最良の正規表現とは何ですか?] 161738 /正規表現で文字列に有効なURLであるかどうかをチェックする –

+0

単純な文字列操作を使用して文字列から '/ location /'を削除する必要があります。あるいは '(ristoranti /)[^/]*/(.+?)'のような2つの捕捉グループを使い、 '$ 1 $ 2'に置き換えてください。 –

+0

どの操作でも '/ location /'を取り除くことができません –

答えて

0

あなたの否定的な先読みには$が存在するため、実際にはlocationで終わらないため、ristoranti/location/latvia/riga/other-tagが一致しなくなります。

(?!location/) 

(URLがlocation/の場合は一致しません)で置き換える必要があります。

また、^も使用してください。だからあなたの最終的な正規表現は次のようになりますの

^ristoranti/(?!location/)([^/]*)/([^/]*)/(.*) 

RegEx Demo