我有一张桌子,其中包含数百个带截图的指南。屏幕截图图像被锚标签包围,因为它们之前可以点击,但现在我需要删除锚标签。要删除的所有锚标记都有href=#screenshot
后跟一个数字,如下例所示。我的计划是使用mysqldump转储表,然后使用 sed 查找并替换正确的字符串。
<p>Choose <a href="/components">components</a> to install and click next.</p>
<div class="screen">
<a href="#screenshot3"><img src="/images/screens/install/step3.jpg" alt="Step 3"></a>
</div>
应该是
<p>Choose <a href="/components">components</a> to install and click next.</p>
<div class="screen">
<img src="/images/screens/install/step3.jpg" alt="Step 3">
</div>
我可以使用<a\shref\=\"#screenshot\d+\"\>
匹配第一个标记,但我还需要匹配其第二个结束标记,以便在不删除其他锚标记的情况下删除它们。任何帮助将不胜感激!
答案 0 :(得分:1)
您可以尝试替换
<a\shref\=\"#screenshot\d+\"\>(.*)<\/a>
\1
。
括号将捕获它们之间找到的所有内容,以便您可以使用\1
,\2
恢复它...
请记住,虽然在尝试修改HTML时,正则表达式不是正确的武器。阅读this(及其周围的评论)以获得解释。