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

Regex匹配异常:匹配www.domain.org排除.org.uk,现有正则在regexr.com失效

解决匹配纯.org结尾域名的正则问题

我明白你要的是匹配像www.domain.org这类精确以.org结尾的域名,但要排除www.domain.org.uk这种带更长后缀的情况。你原来的正则有两个关键问题导致无法正常工作:

  1. 未转义元字符.:正则里的.是匹配任意单个字符的元字符,你写的(www.)?会匹配www后面跟任意字符(比如wwwX),domain.org也会匹配domain后面跟任意字符再加上org,这显然不是你想要的。
  2. 虽然你加了$断言结尾,但因为前面的.未转义,导致匹配逻辑混乱。

修正后的正则表达式

/(www\.)?domain\.org$/

各部分解释

  • (www\.)?:可选的www.前缀,\.转义了点,确保只匹配实际的英文句号;?表示这个前缀可以出现0次或1次,所以domain.org和www.domain.org都会被匹配。
  • domain:精确匹配你指定的域名主体部分。
  • \.org:精确匹配.org后缀,同样用\.转义点,避免误匹配其他字符。
  • $:字符串结束断言,确保.org是整个字符串的最后部分,彻底排除domain.org.uk这类后续还有字符的情况。

扩展优化(可选)

如果需要忽略大小写(比如匹配WWW.DOMAIN.ORG),可以加上i标志:

/(www\.)?domain\.org$/i

如果要匹配任意以.org结尾的域名(不局限于domain),可以把domain换成符合域名规范的匹配规则:

/(www\.)?[a-zA-Z0-9-]+\.org$/

这里[a-zA-Z0-9-]+匹配由字母、数字和连字符组成的域名主体,完全符合域名命名规范。

测试验证

用这个正则测试以下字符串:

  • 匹配的:domain.org、www.domain.org
  • 不匹配的:domain.org.uk、www.domain.org.uk、domain.co.org、wwwXdomain.org

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:26:21