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

如何编写正则匹配含/不含www、无连续点的合法.com格式URL

匹配需求的正则表达式

最终可用正则:
^(?:www\.)?(?:\w+\.)*\w+\.com$


规则解释

  • ^ 锚定字符串起始位置,避免匹配到包含符合规则片段的超长字符串
  • (?:www\.)? 非捕获组,匹配可选的www.前缀,?限定该前缀最多出现1次
  • (?:\w+\.)*\w+ 核心域名匹配逻辑:
    • (?:\w+\.)* 匹配0组或多组「单词字符+单个英文句号」的组合,天然避免了连续两个.的情况,且*的量词允许没有中间分段
    • 末尾的\w+匹配最后一级域名主体
  • \.com$ 锚定.com后缀,$限定字符串结束位置,避免匹配带多余后缀的内容

匹配效果验证

  • 匹配通过的用例:
    • www.aBC.com
    • abc.com
    • a_bc.de8f.com
    • a.com
  • 匹配不通过的用例:
    • abc 无.com后缀
    • abc..com 存在连续句号,不符合\w+\.的分段规则

原正则问题说明

你之前写的\w+.[\w]+.com存在三个问题:

  1. 没有对.做转义,未转义的.会匹配任意字符,不是仅匹配英文句号
  2. 规则强制要求至少两个.分隔的分段,无法匹配只有一个.的a.com这类短域名
  3. 没有首尾锚定,会匹配到包含符合规则片段的其他字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:54:00