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

 更新时间:2020年09月01日 15:34:32   作者:Canliture  
这篇文章主要给大家介绍了关于Java正则表达式如何匹配特定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!");
}

总结

到此这篇关于Java正则表达式如何匹配特定html标签内容的文章就介绍到这了,更多相关Java正则表达式匹配html标签内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring AOP 对象内部方法间的嵌套调用方式

    Spring AOP 对象内部方法间的嵌套调用方式

    这篇文章主要介绍了Spring AOP 对象内部方法间的嵌套调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring Boot构建优雅的RESTful接口过程详解

    Spring Boot构建优雅的RESTful接口过程详解

    这篇文章主要介绍了spring boot构建优雅的RESTful接口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java中的CountDownLatch、CyclicBarrier和semaphore实现原理解读

    Java中的CountDownLatch、CyclicBarrier和semaphore实现原理解读

    这篇文章主要介绍了Java中的CountDownLatch、CyclicBarrier和semaphore实现原理详解,CountDownLatch中调用await方法线程需要等待所有调用countDown方法的线程执行,这就很适合一个业务需要一些准备条件,等准备条件准备好之后再继续执行,需要的朋友可以参考下
    2023-12-12
  • 解析Spring中面向切面编程

    解析Spring中面向切面编程

    如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用
    2021-06-06
  • SpringCloud Hystrix的使用

    SpringCloud Hystrix的使用

    这篇文章主要介绍了SpringCloud Hystrix的使用,帮助大家更好的理解和学习使用SpringCloud,感兴趣的朋友可以了解下
    2021-04-04
  • Java TreeSet类的简单理解和使用

    Java TreeSet类的简单理解和使用

    这篇文章主要介绍了Java TreeSet类的简单理解和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • spring boot环境抽象的实现方法

    spring boot环境抽象的实现方法

    在实际开发中,开发人员在编写springboot的时候通常要在本地环境测试然后再部署到Production环境,这两种环境一般来讲是不同的,最主要的区别就是数据源的不同。本文主要介绍了这两种,感兴趣的可以了解一下
    2019-04-04
  • Java序列化常见实现方法代码实例

    Java序列化常见实现方法代码实例

    这篇文章主要介绍了Java序列化常见实现方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 关于@PostConstruct、afterPropertiesSet和init-method的执行顺序

    关于@PostConstruct、afterPropertiesSet和init-method的执行顺序

    这篇文章主要介绍了关于@PostConstruct、afterPropertiesSet和init-method的执行顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java JDK17没有源码的问题及解决

    Java JDK17没有源码的问题及解决

    这篇文章主要介绍了Java JDK17没有源码的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论