gpt4 book ai didi

python重新问题

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:56 26 4
gpt4 key购买 nike

我重新测试了一些pythonwebshel​​ll,他们都遇到了问题

如果我用

a=re.findall(r"""<ul>[\s\S]*?<li><a href="(?P<link>[\s\S]*?)"[\s\S]*?<img src="(?P<img>[\s\S]*?)"[\s\S]*?<br/>[\s\S]*?</li>[\s\S]*?</li>[\s\S]*?</li>[\s\S]*?</ul>""",html)
print a

没关系

但是如果我使用

a=re.findall(r"""<ul>[\s\S]*?<li><a href="(?P<link>[\s\S]*?)"[\s\S]*?<img src="(?P<img>[\s\S]*?)"[\s\S]*?<br/>[\s\S]*?</li>[\s\S]*?</li>[\s\S]*?</li>[\s\S]*?</ul>d""",html)
print a

它会阻塞服务器并一直等待,就像服务器死机一样,我也在 regexbuddy 上测试过

两个代码段唯一的区别是在第二个代码段的regur表达式的末尾,我添加了一个字符'd'

谁能解释为什么会这样

最佳答案

表达式 [\s\S]*? 可以匹配任意数量的任何内容。在匹配失败的情况下,这可能会导致大量回溯。如果您更具体地了解可以匹配和不能匹配的内容,那么匹配会更快失败。

此外,我建议您为此使用 HTML 解析器而不是正则表达式。 Beautiful Soup 是一个优秀的库,易于使用。

关于python重新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852009/

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