查找和替换标签之间的内容
Find and replace content between tags
我的部分 HTML 看起来像这样
<h4>Headline 1</h4>
<p>Content 1</p>
<h4>Headline 2</h4>
<p>Content 2</p>
<h4>Headline 3</h4>
<p>Content 3</p>
我有大约 50 个 "blocks"。我需要将它们包裹在 <div>
中以重新设计它们,我想我可以使用 SublimeText2 的 Find/Replace 函数来获取所有这些并替换它们,使它们看起来像这样
<div>
<h4>Headline 1</h4>
<p>Content 1</p>
</div>
<div>
<h4>Headline 2</h4>
<p>Content 2</p>
</div>
<div>
<h4> Headline 3</h4>
<p>Content 3</p>
</div>
我想不出允许我 select 和替换的正则表达式。
我尝试了 <h4>(.*)<\/p>
但没有产生任何结果。
我还在 https://regex101.com/ 上测试了 /<h4>(.*)<\/p>/s
,但它在整个文件中产生了 1 个匹配项。
我如何找到这个?
免责声明:我并不是要解析天知道有多少东西。我知道 HTML 使用正则表达式解析的恶魔性质。
查找
(<h4>[\S\s]*?</p>)
并替换
<div>\n\n</div>
或者,您可以将此正则表达式用于 find
(?s)(<h4>.*?</p>)
您可能需要这样的东西:
查找:
(?sim)(<h4>.*?</p>)
替换:
<div>\n\n</div>
PS:确保点匹配换行符选项被选中
如果您不想使用捕获组,以下内容也可以完成工作
<h4>[\w\W]+?<\/p>(?=$)
我的部分 HTML 看起来像这样
<h4>Headline 1</h4>
<p>Content 1</p>
<h4>Headline 2</h4>
<p>Content 2</p>
<h4>Headline 3</h4>
<p>Content 3</p>
我有大约 50 个 "blocks"。我需要将它们包裹在 <div>
中以重新设计它们,我想我可以使用 SublimeText2 的 Find/Replace 函数来获取所有这些并替换它们,使它们看起来像这样
<div>
<h4>Headline 1</h4>
<p>Content 1</p>
</div>
<div>
<h4>Headline 2</h4>
<p>Content 2</p>
</div>
<div>
<h4> Headline 3</h4>
<p>Content 3</p>
</div>
我想不出允许我 select 和替换的正则表达式。
我尝试了 <h4>(.*)<\/p>
但没有产生任何结果。
我还在 https://regex101.com/ 上测试了 /<h4>(.*)<\/p>/s
,但它在整个文件中产生了 1 个匹配项。
我如何找到这个?
免责声明:我并不是要解析天知道有多少东西。我知道 HTML 使用正则表达式解析的恶魔性质。
查找
(<h4>[\S\s]*?</p>)
并替换
<div>\n\n</div>
或者,您可以将此正则表达式用于 find
(?s)(<h4>.*?</p>)
您可能需要这样的东西:
查找:
(?sim)(<h4>.*?</p>)
替换:
<div>\n\n</div>
PS:确保点匹配换行符选项被选中
如果您不想使用捕获组,以下内容也可以完成工作
<h4>[\w\W]+?<\/p>(?=$)