0

我有一个这样的日志文件:

some strings...
<FX>
another strings...
<FX s='asdf' asd="ascvas">
<TEG1>
  <TEG2>
  </TEG2>
</TEG1>
</FX>
some strings...
</FX>
some strings...
<FX>
             <?xml version="1.0" encoding="utf-16" standalone="yes"?>    

<FX>
<CLR>
</CLR>
</FX>
end of file
</FX>

我需要编写 vbscript 正则表达式来解析它并得到这个结果:

<FX s='asdf' asd="ascvas">
    <TEG1>
      <TEG2>
      </TEG2>
    </TEG1>
</FX>

<?xml version="1.0" encoding="utf-16" standalone="yes"?>    
<FX>
    <CLR>
    </CLR>
</FX>

我已经写了这个表达式:

(<\?xml[^>]*>[\s\S]*)*<\s*FX[^>]*>((?!<\s*FX[^>]*>)[\s\S])*<\s*/\s*FX\s*>

但它不适用于标签/FX。您可以在这里查看 rezult: http ://regexr.com?341ps

提前致谢。

4

2 回答 2

0

以这种方式更改它:

^\<\?xml[^>]*>[\s\S]*<\s*FX[^>]*>((?!<\s*FX[^>]*>)[\s\S])*<\s*/\s*FX\s*>
于 2013-03-07T14:24:09.020 回答
0
/(<[^\s]+\s+\w=[^>]+>[^/]+\/[^/]+/[^/]+/[^>]+>)|(<\?xml[^/]+/[^/]+/[^>]+>)/m
# http://regexr.com?386si


/(<[^\s]+\s+\w=[^>]+>[^\/]+\/[^\/]+\/[^\/]+\/[^>]+>)|(<\?xml[^\/]+\/[^\/]+\/[^>]+>)/m
# (escaped forward slash)
# http://rubular.com/r/SwI2vz6ctk

http://regexr.com?386si

http://rubular.com/r/SwI2vz6ctk

于 2014-02-04T08:04:01.437 回答