正则匹配承兑的html,正则匹配闭合HTML标签(支持嵌套)

原标题:正则匹配闭合HTML标签(支持嵌套)

任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题。关于正则引擎的原理,推荐《Mastering Regular Expression》中文名叫《精通正则表达式》。挺不错的一本书。

OK,先确定我们要解决的问题——从一段Html文本中找出特定id的标签的innerHTML。

这里面最大的难点就是,Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签呢?

我们可以这样想,先匹配最前面的起始标签,假设是div吧(

我之所以能够这样去思考,是因为我了解过正则的特性,我知道正则中的平衡组能够实现我刚才说的“堆栈”操作。所以,如果我们要编写复杂正则表达式,需要对正则的一些高级特性至少有所了解,这样我们思考问题才有个方向。

================================

匹配任意闭合HTML标签的正则表达式:

[w]+)[^>]*?>((?[^>]*>)|>(?)|.*?)*>

如果只想匹配div标签,可以使用下面的正则表达式:

div)[^>]*?>((?[^>]*>)|>(?)|.*?)*>

是的,你可以把div修改成任意你想要匹配的HTML标签

如果想同时匹配多个HTML标签,可以使用下面的正则表达式:

(div|span|h1))[^>]*?>((?[^>]*>)|>(?)|.*?)*>

你还可以继续添加更多要匹配的标签

如果想匹配包含ID的标签,可以使用下面的正则表达式:

[w]+)[^>]*s[iI][dD]=(?["']?)footer(?(Quote)k)[^>]*?(/>|>((?[^>]*>)|>(?)|.*?)*>)

这个正则匹配任意id为footer的HTML标签

本文不完全转载了http://www.imkevinyang.com/2009/07/使用正则表达式匹配嵌套html标签.html的内容

来源:https://www.cnblogs.com/youring2/p/3836259.html

版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

private static Logger logger =Logger.getLogger(AssembleMsgService.class)什么意思?

作为一个新人中的菜鸡,最近在看一个项目的代码其中有这么一段看得我很是费解 public class AssembleMsgService {private static Logger logger Logger.getLogger(AssembleMsgService.class);1、Logger logger logger.getlogger(); 看到这个会想到这是log4j下的…

日志框架介绍(SLF4J及其使用)

本文主要介绍 1.日志框架基本介绍及Spring Boot中默认使用框架(SLF4JLogBack); 2.SLF4J的使用 3.项目中日志框架统一问题 4.Spring Boot中如何实现日志框架统一问题(3的最佳实践) 1. 日志框架基本介绍 一般情况下搭建日志框架时,搭建 日志抽象层(定…

jmeter生成html报告修改,Jmeter生成html报告(示例代码)

新的JMeter版本中引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块。注:本文用的是3.2版本。生成html报告一、检查.jtl文件,如果没有.jtl文件,运行如下命令:jmeter -n -t 天气api.jmx -l result.jtl …

SpringBoot使用Slf4j+Log4j2完成项目的日志记录

SpringBoot使用Slf4jLog4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中的日志记录. 部分效果展示 : 日志文件 : 日志信息 : 代码具体实现如下…

鸿蒙构架谁提供的,科普丨关于“鸿蒙”,不知道这些你都不好意思跟别人打招呼!...

鸿蒙的英文名是Harmony OS华为消费者业务CEO余承东8月9日正式发布鸿蒙系统,英文名是Harmony OS 。国家知识产权局商标局网站显示,华为已经申请注册“华为鸿蒙”商标,申请日期是2018年8月24日,注册公告日期是2019年5月14日。鸿蒙是…

SpringBoot——slf4j+logback日志处理及配置详解

SpringBoot——sl4jlogback日志处理及配置详解 日志的级别 打印级别&#xff1a;ALL > TRACE > FATAL > DEBUG > INFO > WARN > ERROR > OFF 输出级别&#xff1a;TRACE > DEBUG > INFO > WARN > ERROR logback-spring.xml配置文件 <…

html页面如何引入elementui,element-ui中按需引入的实现

element-ui中按需引入为什么选择 element-ui 而不是 iview因为在多次使用两个组件的过程中慢慢发现&#xff0c;iview 的一些组件还是需要再完善&#xff0c;而 element-ui 现在更加的成熟所以&#xff0c; 这里我们一起来学习一下在 vue 中按需引入 element-ui 一些组件中的坑…

springBoot Logging 日志详解

文章目录日志格式控制台输出彩色编码输出文件输出文件级别自定义日志配置Logback 扩展profile 指定 配置文件Environment 属性springBoot 日志使用Commons Logging作为抽象层&#xff0c;并将具体实现开放&#xff0c;支持Java Util Logging、Log4j2和Logback。loggers 默认配置…

计算机应用电子技术课程,中专计算机应用有什么课程

中专计算机应用有什么课程2020-10-29 16:40:11文/董玉莹计算机应用学习研究计算机应用于各个领域的理论、方法、技术和系统等&#xff0c;是计算机学科与其他学科相结合的边缘学科&#xff0c;是计算机学科的组成部分。计算机应用是对在社会活动中的如何参与和实施给予方针指导…

vb.net html标签,VB.Net - 获取元素html的字符串/值?

我有一个轻微的问题&#xff0c;试图从网站上的元素获取字符串。VB.Net - 获取元素html的字符串/值&#xff1f;是我的目标为&#xff1a; 基本上我试图从一个网站的字符串/值&#xff0c;使之进入一个TextBox.text或标注甚至。 没有太多的exmaples&#xff0c;但我没有经验在这…

移动商城html 源码,基于weui的移动商城html5模板

【实例简介】基于weui开发的一整套移动端商城,包括首页,购物车,订单管理,评价,分类,会员中心等【实例截图】【核心代码】web└── web├── add_card.html├── address_edit.html├── address_list.html├── all_orders.html├── card.html├── chongzhi.html├──…

Spring Boot 配置日志输出等级

Spring boot 默认使用 logback作进行日志输出。 有两种方式一个是通过application.properties 配置文件的方式来配置。 另一种是通过logback.xml配置文件的方式进行配置。 首先要说的是:application.properties 和logback.xml这两个配置文件都是放在 src/main/resources 目录…

计算机专业需要学好的数学知识,学好数学对计算机专业重要吗?

学好数学对计算机专业重要吗?对非理论向PNP之类&#xff0c;combinatorics压根就是数学的计算机专业本身而言&#xff0c;《具体数学》一些图论就很足够了&#xff0c;足以支撑本科基础阶段的知识体系而且也不需要深究&#xff0c;比如图论不需要像数学系那样会做证明。我是指…

springboot如何使用log4j记录日志

文章目录导入依赖1、去掉slf4j的依赖2、引入log4j的依赖创建log4j.properties导入依赖 因为springboot的启动依赖会引入SLF4J的日志依赖&#xff0c;因此想要用log4j&#xff0c;就要先把slf4j的依赖去掉&#xff0c;然后再引入log4j的启动依赖。 1、去掉slf4j的依赖 网上有…

Html设置表格撑开,【CSS】表格或div被撑开的解决办法

摘要&#xff1a;后台添加内容后才发现显示的页面被撑开&#xff0c;导致网页极度不美观。&#xff0c;现在潇湘在线把平时找到的防止表格或div被撑开的好方法总结归纳一下&#xff0c;和大家一起分享。在我们设计网页的时候&#xff0c;总会遇到一些不愉快的事情&#xff0c;最…

在SpringBoot中使用slf4j与logbak

本次开发环境为&#xff1a; 系统&#xff1a;Windows 10 JDK&#xff1a;1.8 开发工具&#xff1a;IntelliJ IDEA springboot框架&#xff1a;2.X.X 日志设置参考官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boo…

站酷用HTML5播放视频,站酷:动效展示实践的问题及解决

前两天设计一款主页&#xff0c;想给它加上一些操作演示&#xff0c;于是便自己琢磨如何实现。先上效果图&#xff1a;首先&#xff0c;是界面设计的部分&#xff1a;需求是针对现有的网站做移动端的展示。针对门户网站的性质&#xff0c;以及对象的行业特性&#xff0c;将首页…

SpringBoot ——Spring Boot日志配置

Spring Boot 采用了 slf4jlogback 的组合形式&#xff0c;Spring Boot也提供对JUL、log4j2、Logback提供了默认配置 1、默认日志配置 修改日志默认级别 2、修改日志默认配置 修改日志文件生成路径 ​ ​ 修改日志输出格式 ​ 3、日志底层实现 在web项目中&#xff0c…

手机计算机数字显示在桌面上,手机桌面上的应用如何取消显示的数字角标

手机桌面上的应用如何取消显示的数字角标很多小伙伴都还不知道&#xff0c;下面IEfans小编为大家整理了取消显示的数字角标的流程一览&#xff0c;怎么取消显示的数字角标&#xff0c;一起来看看吧!方法/步骤分享&#xff1a;1、首先&#xff0c;点击手机桌面上的【设置】&…

SpringBoot日志配置

SpringBoot日志配置 1.Spring Boot默认日志框架 Spring Boot默认使用LogBack日志系统&#xff0c;如果不需要更改为其他日志系统如Log4j2等&#xff0c;则无需多余的配置&#xff0c;LogBack默认将日志打印到控制台上。如果要使用LogBack&#xff0c;原则上是需要添加depende…