【问题标题】:Filter valid domains names from a string or file without cnames or speial characters in the string从字符串或文件中过滤有效域名,字符串中没有名称或特殊字符
【发布时间】:2022-12-25 23:42:21
【问题描述】:

我尝试使用此正则表达式,但似乎给定了一个这样的字符串,它在显示其他值时包含 www 示例:

(?:www.)?([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]).(([a-zA- Z]{2,}.[a-zA-Z]{2,}|[a-zA-Z]{2,}))

字符串:这是www.website1.com,这是www.website2.com v=spf1 ip4:1.1.1.1 include:google.com include=www.google.com include=_google.com,hotmail.com include=www.brazail.co。英国

给出带有 www 的结果。如果有人可以对此发表评论。

(?:www.)?([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9])\.(([a-zA-Z]{2,}\.[a-zA-Z]{2,}|[a-zA-Z]{2,}))

试过了,但这包括 www 有什么想法吗?

【问题讨论】:

    标签: python regex python-re


    【解决方案1】:

    不是最好的解决方案,但它适用于您的测试用例:

    s((?:www.)?([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]).(([a-zA-Z]{2,}.[a-zA-Z]{2,}|[a-zA-Z]{2,})))
    

    您给出的相同表达式,但事先强制进行空格匹配。将www.website1.comwww.website2.com 匹配为捕获组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 2023-03-14
      • 2017-12-14
      • 2015-11-04
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      相关资源
      最近更新 更多