【问题标题】:Get the array element that appears first in an HTML string获取 HTML 字符串中最先出现的数组元素
【发布时间】:2013-07-02 04:56:36
【问题描述】:

我有这个数组:

@tags = (
    '<div id=',
    '<article id=',
    '<div class=',
    '<article class='
);

和一个 HTML 字符串。

我想找到字符串中最早出现的数组元素。

有没有人有优雅的方法来做到这一点?

【问题讨论】:

  • 不清楚您是只是想要最低的索引还是实际上还需要所有的索引
  • 或者,如果您只想要一个字符串而实际上根本没有索引。
  • 顺便说一句:你的数组中是否有一个元素不包含 HTML?
  • 如果只需要输出索引最低的元素,那为什么要循环每个元素呢?
  • my $re = join '|', map quotemeta, @tags; print $html =~ /($re)/;

标签: arrays perl indexing


【解决方案1】:

最简单的选择是从数组构建一个正则表达式,让正则表达式引擎报告它找到的第一个字符串。像这样

my $re = join '|', map quotemeta, @tags;
print $html =~ /($re)/;

【讨论】:

  • 您好,非常感谢您。这正是我所需要的。我试图投票给它,但我没有足够的声誉。也感谢你解决这个问题,我现在明白了。
  • @P.Henderson 即使你不能投票,你也应该能够接受它作为正确答案;点击答案左侧的大勾号。
猜你喜欢
  • 2014-04-08
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 2011-04-03
相关资源
最近更新 更多