优化python链接匹配正则表达式

优化python链接匹配正则表达式,python,regex,Python,Regex,我有一个正则表达式,links=re.compile(“”,re.I).findall(data) 要在某些html中查找链接,在某些html上需要很长时间,有什么优化建议吗 一个让它窒息的问题是有什么理由不使用html解析器吗?使用类似于BeautifulSoup的东西,您可以获得所有链接,而不必使用像这样难看的正则表达式。有什么理由不使用html解析器吗?使用BeautifulSoup之类的工具,您可以获得所有链接,而无需使用难看的正则表达式。我建议用于此任务。我建议用于此任务。如何更直接地

我有一个正则表达式,
links=re.compile(“”,re.I).findall(data)

要在某些html中查找链接,在某些html上需要很长时间,有什么优化建议吗


一个让它窒息的问题是

有什么理由不使用html解析器吗?使用类似于BeautifulSoup的东西,您可以获得所有链接,而不必使用像这样难看的正则表达式。

有什么理由不使用html解析器吗?使用BeautifulSoup之类的工具,您可以获得所有链接,而无需使用难看的正则表达式。

我建议用于此任务。

我建议用于此任务。

如何更直接地处理href

re_href = re.compile(r"""<\s*a(?:[^>]+?)href=("[^"]*(\\"[^"]*)*"|'[^']*(\\'[^']*)*'|[^\s>]*)[^>]*>""", re.I)
re\u href=re.compile(r“”“]+?)href=(“[^”]*(\\“[^”]*)*“\\”[^']*(\\\'[^']*)*“[^\s>]*)[^>]*”,re.I)

与您的
findall
在我的计算机上花费38.694秒相比,这大约需要0.007秒。

如何更直接地处理href

re_href = re.compile(r"""<\s*a(?:[^>]+?)href=("[^"]*(\\"[^"]*)*"|'[^']*(\\'[^']*)*'|[^\s>]*)[^>]*>""", re.I)
re\u href=re.compile(r“”“]+?)href=(“[^”]*(\\“[^”]*)*“\\”[^']*(\\\'[^']*)*“[^\s>]*)[^>]*”,re.I)

与您的
findall
在我的计算机上花费38.694秒相比,这大约需要0.007秒。

请尽量避免使用正则表达式解析HTML。强制链接:请尽量避免使用正则表达式解析HTML。强制链接:是否可能获取正则表达式获取的所有数据?链接、锚文本以及a和href之间和href之后的位,直到标记结束?@Matt:我发现很难理解你的正则表达式在做什么,但HTML解析器的一般想法是,它们使解析HTML变得容易。我相信,无论你想做什么,一旦你阅读了文档,都会非常简单。是的,非常简单。这似乎与您的问题重复,答案是:是否有可能获取正则表达式获取的所有数据?链接、锚文本以及a和href之间和href之后的位,直到标记结束?@Matt:我发现很难理解你的正则表达式在做什么,但HTML解析器的一般想法是,它们使解析HTML变得容易。我相信,无论你想做什么,一旦你阅读了文档,都会非常简单。是的,非常简单。这似乎与您的问题重复,答案如下: