2011-01-24 107 views
2

可以说下面的整个事情是一个字符串,我想匹配<内的所有单词以及>以狗或鸟为单词的结尾。 可以通过使用正则表达式这样做也做:正则表达式不选择器

< +(狗|鸟)>

但我尝试使用不选择来选择。只有它不以猫结尾,它应该被选中。实际上是否可以选择不包含正则表达式的内容?

<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来“不匹配”。 – 2011-01-24 21:27:37

回答

2

如果我们讨论支持它的正则表达式的风格,您可以使用negative lookahead。此:

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

将匹配尖括号封闭字符串端与dogcat

0

除了排除模式,你也可以使用负回顾后(比赛“>”不被狗或猫前面):

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