Python regex:忽略几个下游xml标记

Python regex:忽略几个下游xml标记,python,xml,regex,Python,Xml,Regex,我只需要使用正则表达式提取xml的内容,但忽略子标记: 输入如下: <firstTag>k</firstTag><secondTag>jkjk</secondTag> <ignoreTag><subIgnoreTag>j</subIgnoreTage>...</ignoreTag> <ignoreTag><subIgnoreTag>j</subIgnoreTage>

我只需要使用正则表达式提取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…

subIgnoreTag呢?为什么不找到这个?它没有嵌套的标记.re.sub'.*?',更严重的是xml_字符串-如果Python在这里起作用,为什么只有正则表达式?为什么不能使用Python标准库的其余部分?如果基于合法的工具限制,那么只重视正则表达式限制就更容易了。我所处的环境中只有busybox和ash和grep。不使用真正的解析器意味着你的解决方案会有bug不,真的,它会-因为你不能使用正则表达式精确地解析一种不规则的语言[是的,这是一个特定含义的技术术语],所以总会有一些小情况。。。还有什么好处呢?如果你只想得到第一部分,请使用不贪婪的操作符。如第页所示?。但我不明白你忽略子标签是什么意思
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))