如何使用正则表达式获得包含特定文本的所有HTML标记?
本文关键字:HTML 标记 文本 正则表达式 何使用 包含特 | 更新日期: 2023-09-27 18:13:09
我是regex的新手,我不能做我需要的。
让我们假设我们有这样的文本:
<h1>Título</h1>
<h2>Los gatos felices</h2>
Existen una serie de gatos...
<h2 style="color:red" class="grande">los gatos: curiosidades</h2>
<p style='text-align: justify;' align='justify'>De por si
<strong>los gatos</strong> saben saltar y además
<strong>los perros odian a los gatos</strong>
</p>
我需要得到所有包含"los gatos"文本的标签。
它应该匹配4个巧合:
- <h2>Los gatos felices</h2>
- <h2 style="color:red" class="grande">los gatos: curiosidades</h2>
- <strong>los gatos</strong>
- <strong>los perros odian a los gatos</strong>
如何用正则表达式求解?
编辑:我终于找到我需要的了!我把它分享给任何可能需要的人:
<(.*)([^<]*)>([^<]*)los gatos([^<]*)<'/'1>
使用真正的Html解析器如htmllagilitypack
代替Regexvar doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(yourhtmlstring);
var h2s = doc.DocumentNode.SelectNodes("//h2").Select(x => x.InnerText).ToList();