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

如何编写正则表达式匹配域名含指定字符串的所有URL?

解决方案

这里有个能精准满足你需求的正则表达式,它可以匹配所有域名中包含example的URL,同时兼容HTTP/HTTPS协议、各种域名后缀,还能避开周围的HTML标签干扰:

\bhttps?://[^/\s]*example[^/\s]*\S+

正则各部分拆解说明

  • \b:匹配单词边界,避免URL和周围的HTML标签(比如<b>、<br>)或其他文本粘连,确保我们抓的是独立的URL
  • https?://:覆盖HTTP和HTTPS两种常见网页协议,?表示s是可选的
  • [^/\s]*:匹配域名里example之前的任意字符(除了斜杠和空白符),允许前缀为空(比如直接是example.com这种域名)
  • example:固定匹配我们要找的特定字符串,确保域名中包含它
  • [^/\s]*:匹配example之后的域名剩余部分,同样排除斜杠和空白符,兼容所有域名后缀(.net/.com/.org等都没问题)
  • \S+:匹配URL的路径及后续内容,\S表示非空白字符,+保证路径至少有一个字符;如果需要允许无路径的纯域名,可以改成\S*

测试你的示例文本

针对你提供的这段内容:

http://example.net/file/25404c920e2a5501fbb660ba1c093e59 http://notexample.com/view/858BA4159ED9B53
https://example.com/file/08558aa484fb1327d215fc6ce19da601/Transform.html http://notexample.com/view/567

这个正则会准确匹配到以下两个URL:

  • http://example.net/file/25404c920e2a5501fbb660ba1c093e59
  • https://example.com/file/08558aa484fb1327d215fc6ce19da601/Transform.html

完美排除了域名是notexample的URL,完全符合你的要求。

额外适配建议

如果你的场景里还有其他协议(比如ftp),可以把https?://改成(https?|ftp)://;如果需要匹配不带协议的域名(比如example.com/path),可以调整开头为\b(https?://)?[^/\s]*example[^/\s]*\S+,不过这种情况可能会误匹配一些普通文本,建议根据实际场景调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:44:53