回答
你可以用这一个尝试:
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\.
将匹配.
符号- 在Java中,
\
是元字符和来转义,因此,我们将有\\w+
和\\.
- 上述两个规则重复几次
为什么不只是'\ w + \。\ w + \。\ w + \。\ w +'起作用? – 2014-10-29 10:06:19
它会的,你说得对。 – 2014-10-29 10:07:37
后续问题,为什么你在字符类中使用两个反斜杠而不是一个字符? – 2014-10-29 10:09:16
您可以使用String.matches("[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]"
- 1. Perl的主机名正则表达式
- 2. 主机名的正则表达式
- 3. 主机名正则表达式
- 4. 正则表达式主机名
- 5. 正则表达式忽略主机名
- 6. 构建正则表达式
- 7. 主机地址的正则表达式?
- 8. 构建正则表达式正则表达式
- 9. 正则表达式中的域名/主机名Javascript
- 10. Zend的2路线主机名正则表达式
- 11. 正则表达式从C#中的URL解析主机名?
- 12. IP地址/主机名匹配的正则表达式
- 13. 正则表达式检查有效的主机名端口
- 14. 预构建的正则表达式模式或正则表达式库?
- 15. 正则表达式从URL中删除主机名和端口?
- 16. Kubernetes:主机名正则表达式失败
- 17. php - 正则表达式主机名提取
- 18. 正则表达式从Jdbc查找主机名url
- 19. 获取主机名已/ EN /被JS正则表达式
- 20. Boost正则表达式查找主机/域名
- 21. 无法构建正则表达式
- 22. 帮助构建正则表达式
- 23. 使用点构建正则表达式
- 24. 构建动态正则表达式
- 25. 从正则表达式构建元组
- 26. 如何使用正则表达式从Perl中的URL获取主机名?
- 27. 寻找正则表达式/代码主机名/机器名称验证
- 28. 如何构建正则表达式模式?
- 29. 的Javascript正则表达式 - 如何基于正则表达式
- 30. 如何使用正则表达式从字符串中提取RFC1123主机名?
你可以上传你尝试过什么。 – manouti 2014-10-29 10:01:36
为什么要将主机名上的点数限制为三个?这仅适用于IP地址,主机名可以采用i.dont.like.google.so.i.will.search.using.bing.com的形式,例如...考虑检查三点数字字符串,或任意数量的点主机名字符串。 – 2014-10-29 10:20:06
将来会出现主机名中的Unicode字符,而主机名不仅限于4个部分。 URL的主机部分可以包含IP(v4和v6)或域名。 – nhahtdh 2014-10-29 10:40:25