`

正则表达式之<七>回溯引用:前后一致

阅读更多
子表达式是为了把一组字符编组为一个字符集合,回溯引用是针对于子表达式来的。

场景:
有这样一个文本:
<BODY>
<H1> content H1 test </H1>
<BR> content BR test </BR>
<H2> content H1 test </H2>
<H3> content H1 test </H4>
</BODY>

假设正则如下:
<[Hh][0-6]>.*?</[Hh][0-6]>

匹配结果如图:



很明显这不是我们想要的结果因为<H3> content H1 test </H4>这是一条非法的数据,不应该匹配。

所以采用([0-6])作为一个组。
正则表达式为:
<[Hh]([0-6])>.*?</[Hh]\1>
这里的\1就表示引用上一次组里的数据,保持数据一致。
匹配结果如图:




\1代表什么意思呢?
它代表着模式里的第一个子表达式,\2代表着第二个子表达式,\3代表第三个,以此类推。
分享到:
评论

相关推荐

    正则表达式(regular expression)

    正则表达式(regular expression) &lt;br/&gt; 原著:笑容&lt;br/&gt; 创作于:2004年05月03日&lt;br/&gt;最后更新:2004年05月04日 21:12&lt;br/&gt;引用地址:正则表达式(regular expression)&lt;br/&gt;版权声明:使用创作公用版权协议&lt;br/&gt; ...

    获取网页表格数据 正则表达式

    获取网页表格数据 &lt;tr&gt; &lt;td&gt;正则表达式 获取网页表格数据 &lt;tr&gt; &lt;td&gt;正则表达式

    正则表达式分析工具

    经过正则表达式过滤后的字符串&lt;br&gt;&lt;br&gt;软件需要 .Net Framework 1.1 支持,可到http://www.bicesoft.com下载.&lt;br&gt;&lt;br&gt;版本更新:&lt;br&gt;1.0&lt;br&gt;实现该对正则表达式的分析功能,得出匹配字符串&lt;br&gt;&lt;br&gt;1.9&lt;br&gt;改进对正则...

    正则表达式教学资料

    &lt;br&gt;&lt;br&gt;索引&lt;br&gt;&lt;br&gt;1._引子&lt;br&gt;2._正则表达式的历史&lt;br&gt;3._正则表达式定义&lt;br&gt;&lt;br&gt;3.1_普通字符&lt;br&gt;3.2_非打印字符&lt;br&gt;3.3_特殊字符&lt;br&gt;3.4_限定符&lt;br&gt;3.5_定位符&lt;br&gt;3.6_选择&lt;br&gt;3.7_后向引用&lt;br&gt;&lt;br&gt;4._各种操作...

    万能日期正则表达式 (适用于各种日期样式)绝对经典

    中间的连接符平常用的是'-'和' '&lt;br&gt;想显示时间就显示时间&lt;br&gt;&lt;br&gt;使用方法:&lt;br&gt;&lt;br&gt;方法GenerateDateTimeReg(string formateType)&lt;br&gt;中传入一个datetime的formate格式,后面的工作就等着取Reg正则表达式吧。...

    js正则表达式校验数字、email、身份证号等

    js正则表达式校验数字、email、身份证号等

    正则表达式 到 NFA

    这是编译原理的一个实验, 是把一个正则表达式转化为不确定有穷自动机NFA的算法程序,朋兴趣的朋友可以下载来看看哦.&lt;br&gt; 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式...

    时间验证正则表达式

    &lt;br&gt;适用地 时间格式:&lt;br&gt;日期部分:2007-1-11 2007/11/1 2007 1 11 07-11-1 07/1/11 07 11 1&lt;br&gt;时间部分:5:5:5 05:05:05&lt;br&gt;&lt;br&gt;还有我个人使用的时候为了特别需要而根改的一些时间验证的正则表达式。

    java最常用的正则表达式

    java正则表达式 。其中包括一些常用到的功能。 java正则表达式 。其中包括一些常用到的功能。

    正则表达式简介(微软篇)

    关于正则表达式:正则表达式简介(微软篇)之一正则表达式&lt;br/&gt;&lt;br/&gt;如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。&lt;br/&gt;&lt;br/&gt;请回想一下在硬盘上是如何...

    正则表达式系统教程

    索引&lt;br/&gt;&lt;br/&gt;1._引子&lt;br/&gt;2._正则表达式的历史&lt;br/&gt;3._正则表达式定义&lt;br/&gt;&lt;br/&gt;3.1_普通字符&lt;br/&gt;3.2_非打印字符&lt;br/&gt;3.3_特殊字符&lt;br/&gt;3.4_限定符&lt;br/&gt;3.5_定位符&lt;br/&gt;3.6_选择&lt;br/&gt;3.7_后向引用&lt;br/&gt;&lt;br/&gt;4._...

    正则表达式系统教程.CHM

    :/4.htm"&gt;2._正则表达式的历史&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;a href="mk:@MSITStore:C:Documents%20and%20Settingschenxh桌面dsfCHM.chm::/5.htm"&gt;&lt;font size="2"&gt;3._正则表达式定义&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href=...

    >>>正则表达式详解<<<

    正则表达式详解 常用的语法表达式==,以备不时之需

    运用正则表达式进行Web日志统计分析

    &lt;br&gt;稿件编号:07031903&lt;br&gt;&lt;br&gt;稿件名称:运用正则表达式进行Web日志统计分析&lt;br&gt;&lt;br&gt;源代码名称:运用正则表达式进行日志统计&lt;br&gt;&lt;br&gt;调试环境:Win XP;.Net&lt;br&gt;

    常用js验证,正则表达式代码

    是开发人员常用到的验证!包括电话号码、手机号、身份证

    正则表达式—>NFA—>DFA—>DFA最小化

    用VC 6.0运行,完美编译运行,反正我们老师检查是完美的过

    <<正则表达式系统教程>>

    关于正则表达式系统的教程 chm格式

    微信小程序实现简单input正则表达式验证功能示例

    本文实例讲述了微信小程序实现简单input正则表达式验证功能。分享给大家供大家参考,具体如下: 1、效果展示 2、关键代码 index.wxml文件 &lt;input placeholder="输入内容" bindinput="check"&gt;&lt;/input&gt; ...

    JavaScript正则表达式匹配 div style标签

    主要介绍了JavaScript正则表达式匹配&lt;div&gt;&lt;style&gt;标签 的相关资料,需要的朋友可以参考下

    正则表达式教程及实例

    部分实例 :&lt;br&gt;匹配双字节字符(包括汉字在内):[^\x00-\xff]&lt;br&gt;&lt;br&gt;匹配空行的正则表达式:\n[\s| ]*\r&lt;br&gt;&lt;br&gt;匹配HTML标记的正则表达式:/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/ &lt;br&gt;&lt;br&gt;匹配首尾空格的正则表达式:(^\s*)|...

Global site tag (gtag.js) - Google Analytics