Java 如何为主机名构建正则表达式?
需要为以下内容构建正则表达式:Java 如何为主机名构建正则表达式?,java,regex,ip,Java,Regex,Ip,需要为以下内容构建正则表达式: x.x.x.x 上面表示一些主机名,其中x可以是一组字符/数字,并且只能有3个点 我尝试了几件事,但在某些情况下失败了。你可以试试这个: String regex = "[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+"; 解释: [a-z0-9]+匹配最小长度为1的组或字符/数字 [\\.]{1}正好匹配一个sympol。{1}表示长度为1,但也可以使用[.]或\\. 上述两条规则重复
x.x.x.x
上面表示一些主机名,其中x可以是一组字符/数字,并且只能有3个点
我尝试了几件事,但在某些情况下失败了。你可以试试这个:
String regex = "[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+";
解释:
匹配最小长度为1的组或字符/数字[a-z0-9]+
正好匹配一个[\\.]{1}
sympol。
表示长度为1,但也可以使用{1}
或[.]
\\.
- 上述两条规则重复了好几次
String regex = "\\w+\\.\\w+\\.\\w+\\.\\w+";
解释:
将匹配最小长度为1的每组单词字符(包括字母和数字)\w+
将匹配\。
符号- 在Java中,
是一个元字符,必须转义,因此我们将有\
和\\w+
\\.
- 上述两条规则重复了好几次
String regex = "[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+";
解释:
匹配最小长度为1的组或字符/数字[a-z0-9]+
正好匹配一个[\\.]{1}
sympol。
表示长度为1,但也可以使用{1}
或[.]
\\.
- 上述两条规则重复了好几次
String regex = "\\w+\\.\\w+\\.\\w+\\.\\w+";
解释:
将匹配最小长度为1的每组单词字符(包括字母和数字)\w+
将匹配\。
符号- 在Java中,
是一个元字符,必须转义,因此我们将有\
和\\w+
\\.
- 上述两条规则重复了好几次
String regex = "[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+";
解释:
匹配最小长度为1的组或字符/数字[a-z0-9]+
正好匹配一个[\\.]{1}
sympol。
表示长度为1,但也可以使用{1}
或[.]
\\.
- 上述两条规则重复了好几次
String regex = "\\w+\\.\\w+\\.\\w+\\.\\w+";
解释:
将匹配最小长度为1的每组单词字符(包括字母和数字)\w+
将匹配\。
符号- 在Java中,
是一个元字符,必须转义,因此我们将有\
和\\w+
\\.
- 上述两条规则重复了好几次
String regex = "[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+[\\.]{1}[a-z0-9]+";
解释:
匹配最小长度为1的组或字符/数字[a-z0-9]+
正好匹配一个[\\.]{1}
sympol。
表示长度为1,但也可以使用{1}
或[.]
\\.
- 上述两条规则重复了好几次
String regex = "\\w+\\.\\w+\\.\\w+\\.\\w+";
解释:
将匹配最小长度为1的每组单词字符(包括字母和数字)\w+
将匹配\。
符号- 在Java中,
是一个元字符,必须转义,因此我们将有\
和\\w+
\\.
- 上述两条规则重复了好几次
字符串.matches(“[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\”)进行测试
它将匹配任何由3个点分隔的字母数字字符
[a-zA-Z0-9]
是与任何字母数字字符匹配的组
+
表示“查找一个或多个事件”
\\.
表示文字
字符
您可以使用字符串.matches(“[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\”)进行测试
它将匹配任何由3个点分隔的字母数字字符
[a-zA-Z0-9]
是与任何字母数字字符匹配的组
+
表示“查找一个或多个事件”
\\.
表示文字
字符
您可以使用字符串.matches(“[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\”)进行测试
它将匹配任何由3个点分隔的字母数字字符
[a-zA-Z0-9]
是与任何字母数字字符匹配的组
+
表示“查找一个或多个事件”
\\.
表示文字
字符
您可以使用字符串.matches(“[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+\”)进行测试
它将匹配任何由3个点分隔的字母数字字符
[a-zA-Z0-9]
是与任何字母数字字符匹配的组
+
表示“查找一个或多个事件”
\\.
表示文字
字符
试试这个:
String regex = "[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]"
试试这个:
String regex = "[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]"
试试这个:
String regex = "[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]"
试试这个:
String regex = "[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]"
您可以发布您尝试的内容。为什么要将主机名上的点数限制为三个?这仅适用于IP地址,例如,主机名可以是i.dont.like.google.so.i.will.search.using.bing.com的形式。。。考虑检查三个点数字的字符串,或者任何数量的点主机名字符串。将来主机名称中会有Unicode字符,主机名不限于4个部分。URL的主机部分可以包含IP(v4和v6)或domai