想象一下,我正在尝试使用 Perl 正则表达式解析以下 html:
<h4>test</h4> <p>num1</p> <p>num2</p> <p>num3</p>
<h4>test</h4> <p>num1</p> <p>num2</p> <p>num3</p> <p>num4</p>
使用以下正则表达式:
<h4>([\w\s]*)</h4>(?:<p>([\w\s]+)</p>)+
Perl 中编号组的结构如何?$1 显然会包含<h4>
标签文本,但是当捕获组重复时,捕获的<p>
标签会发送到 $2 $3 和 $4 吗?有没有一种捕捉<p>
数组中所有标签的好方法?这甚至是 perl 支持的东西吗?还是我被迫为 写一个正则表达式<h4>
,然后为<p>
' 写另一个?
(我知道我可以使用HTML::Tree
或类似的东西来解析 html,但这只是我用来帮助描述问题的一个简化示例,我真的只对 Perl 中重复编号的捕获组如何工作感兴趣)