为什么我的python代码没有运行我的正则表达式?

时间:2017-07-12 15:30:34

标签: regex python-3.x

以下是我的网页搜索代码。我希望返回正则表达式的结果,但由于某种原因它只返回' []'。

非常感谢任何帮助。

谢谢

import urllib.request
import re

url = ('https://www.myvue.com/whats-on')
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})

def main():
    html_page = urllib.request.urlopen(req).read()
    content=html_page.decode(errors='ignore', encoding='utf-8')
    headings = re.findall('<th scope="col" abbr="(.*?)">', content)
    print(headings)

main()

1 个答案:

答案 0 :(得分:0)

就像每个人都说的那样,不要使用正则表达式解析结构良好的数据,并且已经有大量的解析器。但是,正如你所说的那样,你已被告知这样做了#34;,这是一个提示。

测试你正在尝试捕获脚本之外的一些模式的正则表达式,就像这样做::

re.compile('<th scope="col" abbr="(.*)">').match('<th scope="col" abbr="hello">').groups()

当你获得绝对正确的模式时,只能对那个大的html文件运行它。请注意我是如何从正则表达式中移除?的,因为您已经有*