正则表达式:忽略几个下游xml标记

时间:2014-06-12 14:44:13

标签: python xml regex

我需要使用正则表达式提取 ,即xml的内容,但忽略子标记:

输入是这样的:

<firstTag>k</firstTag><secondTag>jkjk</secondTag>
<ignoreTag><subIgnoreTag>j</subIgnoreTage>...</ignoreTag>
<ignoreTag><subIgnoreTag>j</subIgnoreTage>...</ignoreTag>
<thirdTage>3<thirdTag>...

我想要以下内容:

<firstTag>k</firstTag><secondTag>jkjk</secondTag>
<thirdTage>3<thirdTag>...

我试过这个:

(?P<test>.*)<ignoreTag>

看看我是否至少可以获得第一部分,但我只是忽略了IgnoreTag的最后一次出现......

1 个答案:

答案 0 :(得分:0)

import re

xml = """<firstTag>k</firstTag><secondTag>jkjk</secondTag>
      <ignoreTag><subIgnoreTag>j</subIgnoreTage>...</ignoreTag>
      <ignoreTag><subIgnoreTag>j</subIgnoreTage>...</ignoreTag>
      <thirdTage>3<thirdTag>"""

print(re.sub("<ignoreTag>.*?</ignoreTag>\n?", '', xml))