正则表达式学习之回溯引用backreference的示例分析
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章将为大家详细讲解有关正则表达式学习之回溯引用backreference的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、问题引入一个在HTML页面
千家信息网最后更新 2025年02月05日正则表达式学习之回溯引用backreference的示例分析
【Welcome to my page】
、
、、;这里使用了懒惰型元字符来匹配标签中的文本,否则会匹配到从第一个开始标签到最后一下结束标签之间的内容。但是从结果可以看出,有一个无效的标签也匹配上了,即
【Welcome to my page】
这篇文章将为大家详细讲解有关正则表达式学习之回溯引用backreference的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、问题引入
一个在HTML页面中匹配标题标签(H1-H6)的问题:
文本:
Welcome to my pageContent is divided into twosections:
Introduction
Information about me.Hobby
Information about my hobby.This is invalid HTML
正则表达式:<[hH][1-6]>.*?[hH][1-6]>
结果:
【
Welcome to my page】
Content is divided into twosections:
【Introduction
】
Information about me.
【Hobby
】
Information about my hobby.
【This is invalid HTML】
分析:模式<[hH][1-6]>匹配任何一级标题的开始标签,而且不区分大小写,在这个例子中它匹配到了
、,[hH][1-6]>匹配到了
、、;这里使用了懒惰型元字符来匹配标签中的文本,否则会匹配到从第一个开始标签到最后一下结束标签之间的内容。但是从结果可以看出,有一个无效的标签也匹配上了,即,它们根本不能配对。要解决这个问题,就需要使用到回溯引用(backreference)。
二、回溯引用匹配
回溯引用是指模式的后半部分引用在前半部分中定义的子表达式。至于子表达式的使用、划分和引用,在前面已经介绍过了。现在来解决前面的例子:
文本:
Welcome to my pageContent is divided into twosections:
Introduction
Information about me.Hobby
Information about my hobby.This is invalid HTML
正则表达式:<[hH]([1-6])>.*?[hH]\1>
结果:
【
Welcome to my page】
Content is divided into twosections:
【Introduction
】
Information about me.
【Hobby
】
Information about my hobby.
This is invalid HTML
分析:首先匹配开始标题标签的模式<[hH]([1-6])>,使用括号把[1-6]做为子表达式,而匹配结束标题标签模式为[hH]\1>,其中\1表示引用第一个子表达式,即([1-6]),如果([1-6])匹配到的是1,那\1也匹配到1,如果匹配到2,那\1也匹配到2,所以最后一个无效的标题标签就不会被匹配到了。
关于"正则表达式学习之回溯引用backreference的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
表达式
标签
标题
正则
分析
模式
文本
篇文章
结果
问题
示例
习之
例子
内容
更多
不错
实用
懒惰
个子
之间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
复印机共享服务器作用
江苏微商城软件开发
地籍管理数据库系统 实体
其他电脑连接不了服务器
什么是网卡的服务器端模式
云平台数据库查询
金属材料元素成分数据库
贵阳有哪些网络技术职业学校
广西全民参保数据库
服务器如何给别人管理员
中央数据库百科
路虎视频软件开发
app手机应用软件开发
数据库表增加id字段
方舟传送服务器背包
阳西县网络安全应急指挥中心
mssql数据库同步工具
北京app软件开发优选企业
新加坡网络安全研究
写关于网络安全的作文100
数据库 not in可以嵌套吗
肇庆安卓软件开发定制
sql 数据库备份技术
天津定做服务器机柜云主机
北京软件开发公司介绍
青春长软件开发
网络安全是啥过程
信息与网络安全试题及答案
access数据库界面设计软件
查看数据库有几个实例