2011-01-24 6 views
2

この全体が文字列であると言いますが、<の中のすべての単語にマッチさせて、犬や鳥の言葉で終わらせたいと思います。 それはこのように正規表現を使用することによって行わも行うことができます。正規表現ではないセレクタ

< +(犬|鳥)>

しかし、私は、NOTセレクタを使用して選択しようとしています。それが猫で終わっていない場合にのみ、それは選択されるべきです。正規表現に単語が含まれていないものを実際に選択することは可能ですか?

<This is dog> 
<This is also a dog> 
<This is cat> 
<Dog and cat> 
<Where is dog> 
<I am a bird> 
<I am another bird> 

おかげで、

Vizualni。

+1

あなたはあなたのターゲットにされている言語を追加する必要があります。一致することができれば、ブール値NOTと「一致しない」ことができます。 –

+0

私はjavaでやろうとしています。 – Vizualni

+0

これを見てください:http://stackoverflow.com/questions/406230/regular-expression-to-match-string-not-containing-a-word – Floern

答えて

2

これをサポートする正規表現のフレーズについては、negative lookaheadを使用できます。この:

<(?![^>]*(?:dog|cat)>).+> 

dogcatでない終了を行う角括弧で囲まれた文字列と一致します。

0

否定先読みに加えて、あなたも否定後読み(犬や猫が付いていない試合を「>」)を使用することができます:

<.+(?<!dog|cat)>