【发布时间】:2016-07-01 14:33:28
【问题描述】:
我在一组字符串 URL 上实现了非贪婪正则表达式,我试图清理它们,以便它们在 .com(.co.uk 等)之后结束。其中一些在所需的截止点后继续使用' 或" 或<,因此我使用了x = re.findall('([A-Za-z0-9]+@\S+.co\S*?)[\'"<]', finalSoup2)。
问题是某些 URL 是 misc@misc.misc'misc''misc'(或与 类似),因此在实施非贪婪正则表达式后,我仍然留下 enquiries@smart-traffic.com.au">enquiries@smart-traffic.com.au,例如。
我已经尝试了两个 ?? 一起,但显然不起作用,那么在这种情况下,他们获得干净 URL 的正确方法是什么?
【问题讨论】:
-
或者也许只是让 \S+ 不贪婪:[A-Za-z0-9]+@\S+?.co\S*?)[\'"
-
我不清楚这个问题。能否请您提供一些详细信息。例子就可以了。
-
附带说明,使用正则表达式解析 HTML 不是最好的主意,尤其是因为您已经在使用 BeatifulSoup。例如,如果您需要获取所有具有
hrefs 的as 并提取那些hrefs,BS 允许您在几行中完全做到这一点,而无需任何正则表达式。 -
我现在正在学习不同技术的正确用法。你的评论其实很有帮助
标签: python regex non-greedy