正则表达式:将URL修剪为根

用户

在我所见过的所有线程中,我无法找到一个清晰的正则表达式模式来将所有给定的URL精确地修剪到其域根。许多解决方案都是通过使用某些PHP方法或其他方法来避免正则表达式,但是我在Python中,并且想使用一个简单的正则表达式。

这是我所拥有的:

http://([^/]+).*

但是,这不考虑具有以下内容的域之类的异常:

'http' or 'http://www.'

有人有处理所有这些疯狂例外的正则表达式吗?非常感谢!

编辑:这是一些示例输入:

http://toronto.kijiji.ca/f-cars-vehicles-cars-trucks-W0QQCatIdZ174
http://wwwa.autotrader.ca/cars/on/toronto/
http://toronto.en.craigslist.ca/cta/
http://www.auto123.com/en/used-cars/classified/ontario/toronto?city=toronto
https://www.123-reg.co.uk/email-hosting/

样本输出:

kijiji.ca
autotrader.ca
craigslist.ca
auto123.com
123-reg.co.uk
杰伊

使用“简单的正则表达式”无法做到这一点。如果所有扩展都是单部分的,则为是(请参见下文),但无法通过模式与第二级域进行区分。例如,abc.co.uk具有与相同的模式abc.uk.co,但是在第一种情况下,您想要返回,abc.co.uk而在第二种情况下,您想要返回uk.co您的职能需要对有效TLD和第二级域有所了解。

https?:\/\/(?:.*\.)*(.+\..+?)\/

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章