gpt4 book ai didi

regex - MicroPython Regex 不匹配,尽管它在线匹配

转载 作者:行者123 更新时间:2023-12-01 02:42:28 27 4
gpt4 key购买 nike

我有一个奇怪的问题。当我在线解析正则表达式时,它工作正常,但在 MicroPython 中不匹配。

正则表达式: ()*<div>(.*?)<\/div>()*<div>(.*?)<\/div><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 解析器。

最佳答案

我怀疑您的问题是您没有将原始字符串传递给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 - MicroPython Regex 不匹配,尽管它在线匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com