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

IP地址、域名、URL正则表达式优化及问题咨询

问题需求

需要生成符合以下定义的IP地址、域名、URL正则表达式:

  • IP地址:示例93.114.205.169,可带http:///https://前缀,可带www前缀,但不能包含路径,否则视为URL
  • 域名:示例example.com、sub.example.com,可带http:///https://前缀,可带www前缀,但不能包含路径,否则视为URL
  • URL:示例93.114.205.169/path、example.com/path、sub.example.com/path,必须包含资源路径,可带http:///https://前缀,可带www前缀

原正则存在的问题:

  • http://93.114.205.169被同时识别为URL和IP地址,按定义它应仅属于IP地址
  • http://93.114.205.169/path被识别为URL的同时,其中的IP部分被单独识别为IP地址

修正后的正则规则

IP地址规则

[[rules]]
id = "ip-address"
description = "Potential IP Address detected."
regex = '''\b(?:https?://)?(?:www\.)?(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b(?!/)'''
entropy = 2
keywords = ["ip"]

核心优化点:

  • 新增(?:https?://)?(?:www\.)?匹配可选的http/https协议前缀和www子域名
  • 末尾添加(?!/)负前瞻断言,确保IP地址后没有斜杠(即无路径),既避免被误判为URL,也防止URL中的IP子串被单独识别

域名规则

[[rules]]
id = "domain"
description = "Potential domain name detected."
regex = '''\b(?:https?://)?(?:www\.)?[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b(?!/)'''
entropy = 2
keywords = ["domain"]

核心优化点:

  • 新增(?:https?://)?(?:www\.)?匹配可选的协议前缀和www子域名
  • 末尾添加(?!/)负前瞻断言,确保域名后没有斜杠,避免被误判为URL,同时防止URL中的域名子串被单独识别

URL规则

[[rules]]
id = "url"
description = "Potential URL detected."
regex = '''\b(?:https?://)?(?:www\.)?(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}|[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})\/[^\s"<>]+\b'''
entropy = 2
keywords = ["http", "https", "url"]

核心优化点:

  • 强制要求路径部分\/[^\s"<>]+,确保URL必须包含资源路径(至少一个斜杠加后续非空白、非引号尖括号的内容)
  • 匹配主体同时支持IP和域名格式,加上可选的协议与www前缀
  • 移除了原规则中可选的路径逻辑,彻底避免无路径的IP/域名被识别为URL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:09:59