【发布时间】:2017-01-19 03:45:53
【问题描述】:
我已经有一段时间没有使用正则表达式了,我觉得这应该很容易理解。
我有一个充满链接的网页,看起来像下面代码中的 string_to_match。我只想获取链接中的数字,例如 string_to_match 中的数字“58”。对于我的生活,我无法弄清楚。
import re
string_to_match = '<a href="/ncf/teams/roster?teamId=58">Roster</a>'
re.findall('<a href="/ncf/teams/roster?teamId=(/d+)">Roster</a>',string_to_match)
【问题讨论】:
-
为什么,为什么,为什么人们一直尝试parse HTML with regular expressions?!? 使用an HTML parser。它可以使用预期的属性找到您关心的标签,为您提取它,实际上parse the URL 以获取
GET参数,这将是正确的并且很大程度上是自记录代码。即使正则表达式可能更快、不可维护并且可能错误的代码也不是一种改进。