因此,我正在以URL的形式获取用户输入并解析它,然后打印该网站链接到的其他页面。我使用的包是:模式不会删除网站上的特殊字符
LWP::Simple
我从命令行使用用户输入获取链接并将其存储在一个变量中。我使用$ ARGV [0]得到它。 然后我着手制作另一个变量,并在存储网站的变量上使用$ get。 我接着,使数组变量,并应用在可变
/\shref="?([^\s>"]+)/gi;
,其存储在包含网站串的变量被使用get函数的结果
的正则表达式。然后我在数组上做了一个foreach循环来打印出结果。
然而,尽管它的打印链接之类的东西,同时也结束了印刷只是独立位置特殊字符,例如/
和#
如果没有什么在他们之后。
因此,如果有像/blabalbla
这样的东西,它会打印。但是如果只有独立的特殊字符(例如/
,\
或#
),它也会打印它们。任何方式我可以修改正则表达式,以便如果特殊字符不跟随一个字符串,他们不应该打印。新学习perl,而不是在正则表达式
我帮不了,除非你显示你的代码,*真实的例子*一个URL和相应的输出。你的正则表达式肯定不符合这样的孤立字符,我认为你更可能滥用正则表达式。 – Borodin 2014-12-03 22:07:12
“跟随一个字符串”是什么意思? – ikegami 2014-12-03 22:11:49
@Borodin - 这是http://www.google.com/imghp?hl=zh-CN&tab=wi http://maps.google.com/maps?hl=zh-CN&tab=wl https://play.google .com /?hl = en&tab = w8 \有更多的链接作为输出,但我删除它们以适应评论。这是使用google.com。见末尾 – user2128074 2014-12-03 22:14:58