【发布时间】:2018-10-30 04:03:10
【问题描述】:
我想保留标签之间的未知内容,但想匹配所有使用的标签:
<div class="section1-title">arbitrary content here</div>
并将周围的标签替换为:
<h2>arbitrary content here</h2>
我想出了以下内容,但显然它不起作用,因为在第二部分中它实际上是用 "].*[]" 替换找到的每个匹配项。
sed -i 's/[<]div class=\"section1-title\"[>].*[<]\/div[>]/<h2[>].*[<]\/h2[>]/g'
我特别想知道如何保持中间内容完好无损,无论里面有什么,并且只匹配那些周围的标签,因为显然有很多元素,所以我不能单独搜索和替换他们。据我所知,sed 语句的第一部分似乎确实与正确的内容相匹配,但我不确定主要是第 2 部分。
【问题讨论】:
-
始终建议使用正确的工具进行 HTML 解析
sed、awk不适用于 HTML 解析。 -
您会推荐哪些工具?
-
为什么不建议将 sed 或 awk 用于这些目的?