Python正则表达式域名



我试图从字符串中提取以。com结尾的多个域名,从https或http开始。

字符串是:

string="jssbhshhahttps://www.one.comsbshhshshttp://www.another.comhehsbwkwkwjhttp://www.again.co.uksbsbs"
我已经创建了如下模式:
pattern=re.compile("https?://")

我不知道如何完成它。

我想返回以httpHttps开始并仅以.com结束的所有域的列表。因此输出中没有.co.uk域。

我已经尝试在中间使用(.*)来表示字符的无限组合,但现在确定如何完成它。

任何帮助都将非常感激,如果表达式的所有部分都能解释,那将是伟大的。

可以使用

https?://(?:(?!https?://)S)*?.com

参见regex演示。您可以使用不区分大小写的修饰符re.I或添加(?i)内联标志来使regex不区分大小写。

  • https?://-http://https://
  • (?:(?!https?://)S)*?-任何非空白字符,零个或多个,但尽可能少出现,不以http://https://字符序列开头(此正则表达式结构在"tempered greedy token">名称下已知)
  • .com-.com字符串。

最新更新