PerlRegex:否定的前瞻交叉线

  • 本文关键字:交叉线 PerlRegex perl
  • 更新时间 :
  • 英文 :


我有一个包含ol项目列表的html文件,每个项目都有模式<li id=ref>xxxxx</li>,id"ref";是此列表中唯一的。我想在最后一项之后添加一个结束</ol>。所以我使用负向前看来查看下一行是否具有相同的id(下一行可以是任何文本(,如果没有,则会插入</ol>标签。这是我的代码

$html =~ s`(<li id="ref.*?</li>).*?(?!<li id="ref)`$1</ol>`gm; 

无论我在代码末尾使用修饰符CCD_ 4还是CCD_。

感谢您的回复。我设法通过使用以下代码使其工作:

$html =~ s`</li>(?!.*?id="ref)`</li></ol>`gs;  

最新更新