Python Regex不匹配,尽管它只匹配

2024-09-30 01:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个奇怪的问题。当我在线解析正则表达式时,它工作得很好,但是python与它不匹配。在

正则表达式: ()*<div>(.*?)<\/div>()*或{}或{}

匹配:

&lt;Storage {}&gt;86400<div>Uhrzeit in Sekunden: 65567</div><div>Timer: 20833</div>

这些都与python不匹配,但都是联机的(http://regexr.com/https://pythex.org/

这只是我想要的东西的一小部分。但我想要的是div内部的数据

编辑: 我正在esp8266上使用micropython。我是有限的,不能使用html解析器。在


Tags: inhttpsorgltgtdivcomhttp
1条回答
网友
1楼 · 发布于 2024-09-30 01:30:58

我怀疑您的问题是没有将原始字符串传递给re.compile()。如果我这样做,我会得到你想要的:

>>> rx = re.compile(r"<div>(.*?)<\/div>")
>>> rx.findall("&lt;Storage {}&gt;86400<div>Uhrzeit in Sekunden: 65567</div><div>Timer: 20833</div>")
>>> ['Uhrzeit in Sekunden: 65567', 'Timer: 20833']

您需要一个原始字符串,因为\既是Python字符串转义字符,也是regex转义字符。如果没有它,您必须将\\放在正则表达式中,而您的意思是\,这很快就会变得令人困惑。在

相关问题 更多 >

    热门问题