在 python 中区分 /< 和 <

Distinguish /< from < in python

我有一个模式可以找到这种格式的所有标签,<.* :.*>。 从嵌套标签中,我只使用子标签。 在这里,我需要将方括号(< 和 >)与“/<”和“/>”区分开来。 有什么方法可以让我在同一模式中做到这一点吗?

例如:输入字符串

<testing this> any text </<this is not a tag>any text<this will fail/>>

输出:

['<testing this>','</<this is not a tag>','<this will fail/>>']

有什么建议请告诉我。

使用此模式:

(?<!/)<.*?(?<!/)>

(?<!/) 是一种负向后视,可确保每个 <> 的左侧没有斜线,而不会实际消耗字符。

Check this pattern out on regex101.com