【发布时间】:2018-01-13 22:21:36
【问题描述】:
我有一个奇怪的问题。当我在线解析我的正则表达式时,它工作正常,但在 MicroPython 中不匹配。
正则表达式:
()*<div>(.*?)<\/div>()*or<div>(.*?)<\/div>or<div>(.*?)</div>
匹配:
<Storage {}>86400<div>Uhrzeit in Sekunden: 65567</div><div>Timer: 20833</div>
这些都与 python 不匹配,但在线执行(http://regexr.com/ 或 https://pythex.org/)
这只是我想要得到的一小部分。但我想要的是div里面的数据。
编辑: 我在 esp8266 上使用 micropython。我受到限制,无法使用 html 解析器。
【问题讨论】:
-
各位,停止使用正则表达式解析 HTML! HTML 解析器的存在是有原因的。另外,为什么要使用空捕获组?您需要在 Python 中使用
findall,而不是match。 -
对不起,我不准确。我只是想写得不那么详细。我在 esp8266 上使用 micropython。我在那里受限。
-
MicroPython Regex 是 Python Regex 的一个子集。并且 MicroPython 正则表达式中还有许多(2020 年 4 月)未修复的错误。特别是与转义字符有关。 ure library docs 和 open Issues in MicroPython Repo 是您对当前工作方式和方式的最佳选择。 :-/
标签: regex micropython no-match