Python 如何删除此正则表达式中的字符? str=“0” 打印重新搜索(“,str).group() 打印搜索(“>.*?

Python 如何删除此正则表达式中的字符? str=“0” 打印重新搜索(“,str).group() 打印搜索(“>.*?,python,regex,Python,Regex,您不应该使用正则表达式来解析XML/HTML,请参阅 也就是说,以下是如何使用regex获得此示例所需的结果。请使用捕获组: str = "<test>0</test>" print re.search("<.*?>", str).group() print re.search(">.*?<", str).group() >> <text> >> >0< 使用原始字符串文本(r“…”)对于这些文本来

您不应该使用正则表达式来解析XML/HTML,请参阅

也就是说,以下是如何使用regex获得此示例所需的结果。请使用捕获组:

str = "<test>0</test>"
print re.search("<.*?>", str).group()
print re.search(">.*?<", str).group()
>> <text>
>> >0<

使用原始字符串文本(
r“…”
)对于这些文本来说并不是特别必要的,但在编写正则表达式时,最好养成使用它们的习惯,以确保反斜杠得到正确处理。

您不应该使用正则表达式来解析XML/HTML,请参阅

也就是说,以下是如何使用regex获得此示例所需的结果。请使用捕获组:

str = "<test>0</test>"
print re.search("<.*?>", str).group()
print re.search(">.*?<", str).group()
>> <text>
>> >0<

使用原始字符串文字(
r“…”
)对于这些文字来说并不是特别必要的,但在编写正则表达式时,最好养成使用它们的习惯,以确保正确处理反斜杠。

您应该将所需的文本放在反引用中,并且可以使用re.sub替换该字符串

顺便说一下,您可以在1个正则表达式中执行此操作:

>>> print re.search(r"(?<=<).*?(?=>)", s).group()
test
>>> print re.search(r"(?<=>).*?(?=<)", s).group()
0
“]\)*>”
我没有测试它,但它应该可以工作,只要用backreference(\1)替换字符串即可


编辑:很抱歉,我没有意识到您也需要标记中的文本。

您应该将所需文本放置在反向引用中,并且可以使用re.sub替换该字符串

顺便说一下,您可以在1个正则表达式中执行此操作:

>>> print re.search(r"(?<=<).*?(?=>)", s).group()
test
>>> print re.search(r"(?<=>).*?(?=<)", s).group()
0
“]\)*>”
我没有测试它,但它应该可以工作,只要用backreference(\1)替换字符串即可

编辑:很抱歉,我没有意识到您也需要标记中的文本。

您可能需要阅读,特别是如果这是解析XML的更通用程序的一部分,您可能需要阅读,特别是如果这是解析XML的更通用程序的一部分