You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Regex验证域名时负向逆序环视未生效问题求解

问题原因

你当前的正则存在两个缺陷:

  1. 没有加结束锚点$,导致可以部分匹配字符串前半段,后面的非法内容会被忽略
  2. 顶级域分段没有添加「不能以-开头、不能以-结尾」的校验规则

修复后的正则

^((?!-)(\*\.)?[A-Za-z0-9-]{1,63}(?<!-)\.)+(?!-)[A-Za-z0-9-]{1,63}(?<!-)$

校验逻辑说明

  • 每个域名分段(包括顶级域)都强制满足:开头不能是-,结尾不能是-,长度1-63位,仅允许大小写字母、数字、半角横杠
  • 支持泛解析域名格式(如*.example.com)
  • 末尾的$强制匹配整个字符串结尾,避免部分匹配绕过校验

测试验证:

  • test-.google.com 不匹配,符合预期
  • test.google-.com 不匹配,符合预期
  • test.google.com 正常匹配
  • *.test.com 正常匹配

内容的提问来源于stack exchange,提问作者Vinayak49

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:06:04