使用 Perl 的 Regexp::Common::URI::http 库从 URL 列表中检索主机

使用 Perl 的 Regexp::Common::URI::http 库从 URL 列表中检索主机

目前,我正在从文本文件中获取 URL 列表,如下所示:

perl -MRegexp::Common=URI -nE 'say $& while /$RE{URI}{HTTP}{-scheme => "https?"}/g' urls.txt

我想知道如何只获得该host字段。这包文档提到了一个-keep参数,但是源码实现不显示它可用。

我知道我想要的输出可以通过将输出传输到其他程序并处理它来实现,但是有可能在这个命令中实现我想要的结果吗?

答案1

但源实现并未显示它可用。

它不是在 Regexp::Common::URI 中实现的,而是从 Regexp::Common 继承的。并且使用此参数的工作原理如下:

perl -MRegexp::Common=URI -nE \
  'say $3 while /$RE{URI}{HTTP}{-scheme => "https?"}{-keep}/g' \
  urls.txt

相关内容