Java正则表达式匹配html标签内容 Java正则表达式怎样匹配特定html标签内的内容

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java正则表达式匹配html标签内容 Java正则表达式怎样匹配特定html标签内的内容

Canliture   2021-03-15 我要评论
想了解Java正则表达式怎样匹配特定html标签内的内容的相关内容吗,Canliture在本文为您仔细讲解Java正则表达式匹配html标签内容的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java正则表达式详解,正则匹配html标签,正则表达式匹配html标签,下面大家一起来学习吧。

如题:

使用正则表达式,怎么匹配特定html标签内的内容。

比如,对于如下文本串:

... ignored content
prefix content
<html>inner content</html>
postfix content
... ignored content

我们要提取出<html>标签内的内容: inner content(这里的html标签可以换成任何其它的标签,比如<p>标签)

这里引入正则表达式的group概念:详细点击文章查看

比如:对于一个正则表达式( ( A ) ( B ( C ) ) )

  • group 1为:( ( A ) ( B ( C ) ) )
  • group 2为:( A )
  • group 3为:( B ( C ) )
  • group 4为:( C )

这样,我们就能够构造出如下的正则表达式:.*(<(html>)(.*)</\2).*

此表达式的group概念为:

  • group 1: (<(html>)(.*)</\2)
  • group 2: (html>)
  • group 3: (.*)

显然我们要求的就是group3的内容。

注意:\2是对group2的引用,也就是html>

该正则表达式也可以写成: .*(<(html>)(.*)</(html>)).* 化简其实就是.*<html>(.*)</html>.*

代码实现为:

String p = ".*(<(html>)(.*)</\\2).*";
String m = "prefix<html>午休abc</html>postfix";

System.out.println("Pattern: " + p);
System.out.println("String to be test: " + m);

Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(m);
if(matcher.matches()) {
 System.out.println("Matched String: " + matcher.group(3));
} else {
 System.out.println("So sad, not matching anything!");
}

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们