<分区>
尝试合并来自 here 的两个正则表达式在单个语句中验证主机名和 IP 地址。
我让它们分开工作,但是当使用 |
组合时,事情变得很奇怪,匹配主机名和 ips 的片段,而不是完整的有效模式,这不是我想要的。我需要一个正则表达式,使用下面的主机名和 IP 模式来匹配主机或 IP 地址。
我在测试每个模式的地方提供了便签本;最后一个是我尝试将它们结合起来,并举例说明正则表达式匹配无效片段。
^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))$
^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})$
regex: Host name and IPs (不工作)
^((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})$