正则表达式通过排除选择

时间:2013-07-15 10:36:16

标签: regex

("<?xml version=\"1.0\" standalone=\"yes\"?>  <DATAPACKET Version=\"2.0\" version dada Version

假设我有这个示例文字,并且我只想选择versionVersion之前的xmlDATAPACKET字词 前面的((\<?xml |\<DATAPACKET )(v|V)ersion) (\<?xml |\<DATAPACKET )?[v|V]ersion 1}}标签。

到目前为止,我有:

{{1}}

选择我不想看的那些。我如何从这里选择其他的

{{1}} 我可以选择所有需要的项目和不符合条件的项目,但我需要以某种方式排除有标签部分的2个选项。

1 个答案:

答案 0 :(得分:1)

尝试以下(在Notepad ++中):

(?<!<\?xml\s|<DATAPACKET\s)\b[vV]ersion\b

只有在Version之前只有一个空白字符时才有效;这是Notepad ++使用的正则表达式引擎的限制。

在Visual Studio 2010或更高版本中,删除了该限制:

(?<!<\?xml\s+|<DATAPACKET\s+)\b[vV]ersion\b

会在那里工作。