使用正则表达式查找除两个字符串外的所

时间:2013-08-12 14:26:35

标签: regex

在我的文件中我有

<Country>US</Country>
<Country>PR</Country>

之间的

<country>

</country> 

除了美国和公关之外,我想找到任何东西。

例如

<country>US</country>   =  ignore
<country>PR</country>   =  ignore

<country>UP</county>    =  match found

我拥有的是

Pattern = "<Country>(.*?[^USPR].*?)</Country>"

但忽略了

之类的字符串
<Country>UP</Country>  

不确定如何编写标签之间只允许2个选项..仅限US和PR。

2 个答案:

答案 0 :(得分:3)

这应该有用。

<country>(?!(US|PR))(.*?)</country>

匹配未跟<country>US的开场PR代码。然后继续在结束</country>标记之前匹配任何内容。

答案 1 :(得分:0)

试试这个:

(?<=<Country>(?!US|PR)).*?(?=</Country>)