需要为以下内容构建正则表达式:
x.x.x.x
上面代表一些主机名,其中 x 可以是一组字符/数字,且必须只有3个点。
我尝试了一些事情,但在某些情况下失败了。
答案 0 :(得分:1)
你可以试试这个:
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,但您也可以使用[.]
或\\.
。正如@Calvin Scherle所提到的,你可以将正则表达式缩短为:
String regex = "\\w+\\.\\w+\\.\\w+\\.\\w+";
说明:
\w+
将匹配每组单词字符(包括字母和数字),最小长度为1 \.
将与.
符号\
是元字符,必须进行转义,因此我们会\\w+
和\\.
答案 1 :(得分:1)
您可以使用String.matches("[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+")
它将匹配由3个点分隔的任何字母数字字符。
[a-zA-Z0-9]
是与任何字母数字字符匹配的组。+
表示"寻找一个或多个出现" \\.
表示文字.
字符答案 2 :(得分:1)
试试这个:
String regex = "[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\.[a-zA-Z0-9]"