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

2025-05-29 0 84

如题:

使用正则表达式,怎么匹配特定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>.*

代码实现为:

?

1

2

3

4

5

6

7

8

9

10

11

12

13
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标签内容内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/qq_37206105/article/details/108323320

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java正则表达式如何匹配特定html标签内的内容 https://www.kuaiidc.com/117781.html

相关文章

发表评论
暂无评论