我尝试去掉所有HTML括号,除了使用此正则表达式的第一行代码中的任何内容
(?毫秒)(?!\A)〈[^〉]*〉
它非常接近于工作,不幸的是它也从第一行去掉了右括号。我正在使用的例子是:
<div id="uniquename">https://www.example.com?item_id=10302</div>
<div id="uniqname2">
<div id="uniqname3">
<h2 id="uniqnametitle">Title</h2>
<div class="row">
<div class="large-3 columns">Example:</div>
<div class="large-9 columns"><b>Sub example</b></div>
</div>
<div class="row">
<div class="large-3 columns">Additional</div>
当前的REGEX删除所有其他HTML标记,并排除第一行(尾随div结束标记除外),并输出以下内容:
<div id="uniquename">https://www.example.com?item_id=10302
Title
Example:
Sub example
Additional
如果有比排除第一行更好的方法来执行REGEX我愿意接受建议。跳过第一行似乎是最简单的方法,然而,我需要结束括号保持完整。
我在我的正则表达式中遗漏了什么?
3条答案
按热度按时间iqjalb3h1#
更新1:刚刚意识到它可以大大简化
一个一个
lymnna712#
你可以试试这个
(?ms)((?<firstline>\A[^\n]*)|(<[^>]*>))
有替代
$firstline
示例的Playground-https://regex101.com/r/ASItOP/3
fslejnso3#
您应该使用HTML解析器一般...
但是,您可以:
或是一只鹰:
打印: