【问题标题】:Regex for valid domain names有效域名的正则表达式
【发布时间】:2019-04-11 09:03:36
【问题描述】:

我在创建正则表达式以允许唯一有效的域名时遇到一些问题。 规则是:

  • 最少有 3 个字符。
  • 可以有点,但不能有两个连续。不能有其他特殊字符
  • 可以有大小写字母和数字
  • 点之间,至少要有一个字符

例如:

有效域名 -> bruno.cCm.pt3

无效域名 -> bruno..com(或)bruno.

我现在拥有的是:^.{2,253}([A-Za-z\d](-*[A-Za-z\d])*)(\.([A-Za-z\d](-*[A-Za-z\d])*))*$

【问题讨论】:

  • 试试^\w+(?:\.\w+)+$

标签: regex


【解决方案1】:

试试这个,我做了一些测试,我认为它可以解决你的问题:

(?:a-z0-9?.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]

还应该帮助您从更复杂的字符串中提取域名。

这个也应该管理大小写:

(?:a-zA-Z0-9?.)+[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]

【讨论】:

  • 用 RegExr 试过,似乎可以工作:regexr.com/3au3g。也许它与域名没有严格的关系,但应该做的工作
  • 仅通过降低大小写来处理您的示例。现在您必须管理小写/大写情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
相关资源
最近更新 更多