【发布时间】:2012-10-18 08:21:41
【问题描述】:
我正在尝试在 another answer 上找到的东西,但我遇到了一些问题:
我知道 URL 有更好的正则表达式,但请考虑以下示例:
@links=($content =~ m/(https?)?.*[.]com/g);
*$content has text or html
(https?)? 部分用于类似www.google.com 的链接,但有括号将"http" 返回到$1,后者被放入@links!这是个问题,因为我想要整个链接。
什么会从文本中全局提取简单链接(或任何指定的正则表达式)并将它们放入列表中?
简单来说,我的意思是:
http://www.google.comwww.google.comgoogle.comhttps://www.google.com
【问题讨论】:
-
在左括号之后添加
?:将使其不被捕获。这有帮助吗? -
也许以下相关主题会有所帮助:How can I extract URL and link text from HTML in Perl?
-
完美!谢谢! :) 我仍然愿意听到更好的选择@m.buettner
-
@m.buettner 让您的评论成为答案 - 我认为这是正确的