1

我想为 DNS 创建一个正则表达式。

我的要求是有效的 DNS 应该是:

  1. www.xy
  2. www.txy
  3. www.stxy

.只允许使用 4 个点 ( )。我试过这个正则表达式,但它不起作用。请建议。

^[a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-z0-9]+.[a-zA-z0-9]$
4

4 回答 4

1

一个非常简单的正则表达式可能是一些东西

^www\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)?)?$

三点:

  • 点 ( .) 是特殊字符,必须转义 ( \.)
  • 最后两节需要可选子句。
  • 您的示例以 开头www,因此您需要包含此内容才能使用开始标记 ( ^)
于 2013-06-25T11:09:54.123 回答
1

试试这个链接

匹配 DNS 主机名或 IP 地址的正则表达式?

  • 正则表达式测试页

http://www.regexplanet.com/advanced/java/index.html

于 2013-06-25T11:30:57.057 回答
0

尝试这个

str.matches("www(\\.\\w+){2,4}")
于 2013-06-25T11:11:44.160 回答
0

试试这个正则表达式

^(www\.|)(([a-zA-Z0-9])+\.){1,4}[a-z]+$

于 2013-06-25T11:17:40.987 回答