因此,我正在以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