【发布时间】:2014-09-30 18:40:51
【问题描述】:
我有一个包含大约 100 行的变量。我需要打印有 url 的行。
$string = "this is just a test line 1
this is a test line 2
http://somelink1
this is line 4
http://link2
...
...
我只需要打印 url 链接。
如何从 $string 打印所有匹配模式的行。尝试了下面的代码。
my $resu =~ /(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ;,./?%&=]*)?/, $string;
print $resu;
【问题讨论】:
-
请展示您的尝试。
-
如果您没有将所有输入读入一个长字符串中的标量,那么逐行遍历输入并打印所需的行将是一件简单的事情。这是一个 XY 问题。
-
虽然它已经关闭了一个相关但不重复的问题,但我认为您在正则表达式中寻找的部分是标志:mgc(多行,全局,不要重置位置)。然后在while循环中循环匹配。