2016-05-10 27 views
1

正規表現を使用して文字列内の正確なフレーズを一致させたいと考えています。正確なフレーズと一致する正規表現

たとえば、私はこの式を持っています。

^http:\/\/www\.tester\.co\.uk\/search\?keywords=(mountain|mountain\+top) 

私は正規表現がマッチしたいと思います: .../search?keywords=mountain

およびNOT一致: .../search?keywords=mountain**+side**

私は私だけ一致させたいということを伝えるためにどのように表現して把握することはできません「山」または「山+上」は正確に表示されますが、「山+側」は表示されません。

ありがとうございます!

+1

正規表現で '.'を使用すると、「任意の文字」が' .'を意味することに注意してください。したがって、あなたは 'wwwXtesterYcoZuk'にもマッチします。 – h2ooooooo

答えて

0

あなたが完全に一致する語句をしたい場合は

exampleは、例えば、^と$を使用します。

^http:\/\/www.tester\.co\.uk/search\?keywords=(mountain|mountain+top)$ 
+0

ありがとう!出来た! – wolke

+0

'.'をエスケープする必要があります。そうでなければ、*任意の*文字を許可します。 –

+0

また、 'http'の後に '//'をエスケープする必要があります –

2

あなたはほとんどそれを持っていました!あなたが最初に^を使用するので、あなたがアンカーについて知っているように見えますが、あなたは$

編集している、あまりにもラインアンカーの終了を必要とするだろう:ʰᵈˑ @あなたが必要とする正規表現を発見したように見える - アンカーですべての特殊文字をエスケープする:

+0

はうまくいった!ありがとう:)ほとんどの人は$を必要としましたが、誰もいません; – wolke

+0

'.'をエスケープする必要があります。 –

+1

これは 'keywords = mountainnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntop'とも一致します。エスケープあなたのプラスまたはそれは "nは1から無限に繰り返す"を意味します。 – h2ooooooo

関連する問題