【发布时间】:2014-07-17 16:12:59
【问题描述】:
我真的被困住了。 我正在使用 LWP。 我希望将 HTML 文档中的特定链接推送到数组中。 但是:
while ($edocument =~ m/href\s*=\s*"([^"\s]+)"/gi) {
#dostuff
}
将处理所有链接。 我只想要 url 中包含“test”一词的链接。
我尝试过各种组合,比如。 (太多尝试列出)
while ($edocument =~ m/href\s*=\s*"([^"\s*test*]+)"/gi) {
我一直在阅读和阅读,对于这种尴尬的情况,我真的需要一个线索。
有人可以帮忙吗?
此外,我也只需要匹配每个$edocument 的单词 test。有点像last 我猜是循环。
也尝试过
@links = $edocument =~ m/<a[^>]+href\s*=\s*["']?([^"'> ]+)/ig;
然后通过一个独特的 sub 运行 @links。但是,仍然只需要带有“测试”一词的链接。
【问题讨论】:
-
我正在尝试解决这个问题。我知道什么 \s 和 * 但是,为什么会发生匹配?我阅读了像 href[space]*=[space]*"[space]* 这样的正则表达式 我试图在任何地方找到这个正则表达式的解释,所以我可以有足够的线索来自己扩展它。
-
几小时后,我的尝试仍然失败。在休息。希望有人会很快在这里插话并提供帮助。提前谢谢..