我有一个像这样的字符串abc0<system id="101" display-name="abc1">abc1</system>abc1<system id="101" display-name="abc2">abc2</system>abc2
我如何使用正则表达式找到任何abc0
和abc1
和abc2
不在<system></system>
标签内。是否有可能使用python re来找到它们?
一种方法可能是首先剥离所有<system>
标记。然后使用正则表达式查找所有abcd+
:
inp = 'abc0<system id="101" display-name="abc1">abc1</system>abc1<system id="101" display-name="abc2">abc2</system>abc2'
inp = re.sub(r'<system[^>]*>.*?</system>', '', inp)
matches = re.findall(r'abcd+', inp)
print(matches) # ['abc0', 'abc1', 'abc2']