gpt4 book ai didi

javascript - 尝试匹配/测试完全合格的 sub.domain.com :1000 or 127. 0.0.1:1000

转载 作者:行者123 更新时间:2023-11-28 06:28:15 26 4
gpt4 key购买 nike

我试图匹配至少必需的 sub.domain.com 或任何符合条件的内容,例如破折号、数字等。但出于示例目的,可能会匹配/测试 true。

www2.sub.doh-mein.com

www.sub1-2.doh-mein3.com

子域名.com

www2.sub.doh-mein.com:32000

www.sub1-2.doh-mein3.com:32000

子域名.com:32000

123.456.789.321

123.456.789.321:32000

我的第一次尝试让我得到了一些效果很好的东西,但不完全是那个模式 /^([a-z0-9-.]+)(:\d{1,5 })?$/i 我后来发现自己使用了

^((([a-z0-9|-]+\.)*)([a-z0-9|-]+\.)([a-z]+))(:\d {1,5})?$

这最终成为前者的过度美化版本。也就是说,有没有什么方法可以要求我达到特定的最低限度,而其他一切都是可选的。最小值为 sub.domain.com 或 IP 地址格式的字符串。从这里我没有在同一个字符串上运行多个正则表达式模式,希望不要用一堆 if-else 逻辑过多地污染我的代码

最佳答案

/(\w+(\.\w+)+|\d{1,3}(\.\d{1,3}){3})(:\d+)?/
  • \w+(\.\w+)+ 匹配 www2.sub.doh-mein.comsub.domain.com
  • \d{1,3}(\.\d{1,3}){3}123.456.789.321 匹配
  • (:\d+)? 匹配可选端口,例如ojit_代码

通过将 :32000 放在括号开头以表明您不想向后引用它们,可以提高性能:

/(?:\w+(?:\.\w+)+|\d{1,3}(?:\.\d{1,3}){3})(?::\d+)?/

关于javascript - 尝试匹配/测试完全合格的 sub.domain.com :1000 or 127. 0.0.1:1000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34930479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com