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

请求编写正则表达式:匹配文本中不在<a>标签内的.com/.org/.ru链接

嘿,这个需求我之前碰过不少——就是要精准过滤掉标签里的链接,只抓标签外符合后缀的URL对吧?你之前写的正则问题出在负向环视的范围太窄了,只排除了邻近的几个符号,没覆盖整个标签的上下文,所以才会失效。

最终可用的正则表达式

直接上能用的:

(?<!<a[^>]*>)(?:https?://)?\b[\w.]+\.(?:com|org|ru)\b(?:[\w.?&amp;/=]*)(?!</a>)

拆解开给你讲清楚每个部分

拿你的示例测试下

你的示例文本:

  1. https://www.cyberforum.ru/newthread.php?do=newthread&f=323
  2. www.cyberforum.ru
  3. <a href="https://www.cyberforum.ru/newthread.php?do=newthread&f=323">www.cyberforum.ru/newthread.php?do=newthread&f=323
  4. <a href="www.cyberforum.ru/newthread.php?do=newthread&f=323">www.cyberforum.ru/newthread.php?do=newthread&f=323

用这个正则跑一遍,会精准命中第1、2项的链接,第3、4项里藏在标签里的内容完全不会被匹配到,完美符合你的需求。

小提醒

如果你的文本里有一些极端情况(比如标签嵌套,不过HTML规范里这是不允许的),或者更复杂的标签属性,可能需要微调断言的范围,但绝大多数常规场景下这个正则足够稳定。另外,要是在编程语言里用,记得根据语言特性调整转义——比如Python里不用转义&amp;,直接写&就行,具体看你用在哪~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 14:07:39