无法生成匹配文章标记的正则表达式
本文关键字:正则表达式 文章 | 更新日期: 2023-09-27 18:16:11
我一直在尝试创建一个正则表达式来匹配文章标签并获得所有文本。
这是我的文章标签-
<article id="post-82" class="post-82 post type-post status-publish format-standard hentry category-publishing">
<div class="entry-content clearfix">
<div class="abh_box abh_box_up abh_box_drop-down"><ul class="abh_tabs"> <li class="abh_about abh_active">
<p>With India playing host,</p>
<footer class="entry-meta-bar clearfix"><div class="entry-meta clearfix">
<span class="comments"><a href="http://www.test.com/blog/emerging-markets/#respond">No Comments</a></span>
</div></footer>
</article>
我需要文章标签内的所有内容。到目前为止,我已经尝试了以下Regex-
<article (.*?)</article>
(?:<article>)(.*?)(?:</article>)
都不行,请帮忙。
不要使用正则表达式解析HTML。使用Html解析器,如Html Agility pack
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
var result = doc.DocumentNode.SelectNodes("article").FirstOrDefault();
您不希望使用正则表达式来处理这样的事情,也不需要加载XML解析器。只要在你想要包含HTML的元素上使用.getAttribute("innerHTML")
。
例如,这只通过ID获取您提供的HTML中的article元素。
System.out.println(driver.findElement(By.id("post-82")).getAttribute("innerHTML"));
获取页面上所有文章的HTML。
for (WebElement article : driver.findElements(By.tagName("article")))
{
System.out.println(article.getAttribute("innerHTML"));
}
你可以试试这个regex:
<[article][^>]*>((.|'n)*?)<'/article>
https://regex101.com/r/oOJ9bt/2