正则表达式——通过实例掌握分组和回溯引用

简介:

所谓分组,就是把要匹配的内容放在括号()里。括号里的内容可以视为是一个整体的子表达式。

所谓回溯引用,就是引用之前匹配的内容,可以把回溯引用想象成一个变量。 
具体看几个例子就会明白。如下的文字

<ul> 
<li><a class="app01">航班查询</a></li> 
<li><a class="app01">航班查询</a></li> 
<li><a class="app01">航班查询</a></li> 
<li><a class="app01">航班查询</a></li> 
<li><a class="app01">航班查询</a></li> 
<li><a class="app01">航班查询</a></li> 
</ul> 
<div>1111</div> 
<div>2222</div> 
<div>3333</div> 
想匹配格式为<X>.....</X>这样的文字。保证尖括号内部的X是同样的。避免匹配出<li></a>这种格式,用回溯就很有效的。<(\w+)>.*</\1> 
其中可以把(\w+)看做一个变量,\1就是对这个变量的引用。(\w+)是什么\1就是什么。(\w+)是li,\1就是li,\w+是div,\1就是div。回溯的内容必须是一个分组的字表达式。

7GJQWS6DEGOO)SKDBD6{84B













本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/743444,如需转载请自行联系原作者







相关文章
|
2月前
正则表达式分组
正则表达式分组
209 48
|
2月前
|
Java 索引
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
39 0
|
2月前
|
机器学习/深度学习 存储 JavaScript
正则表达式基础语法与Java、JS使用实例
正则表达式基础语法与Java、JS使用实例
61 1
|
2月前
|
数据采集 Java API
Java 正则表达式【非贪婪匹配、格式验证、反向引用、API】
Java 正则表达式【非贪婪匹配、格式验证、反向引用、API】
|
2月前
|
数据采集 算法 Java
Java 正则表达式【匹配与分组基本原理】
Java 正则表达式【匹配与分组基本原理】
|
3月前
|
Python
136 python高级 - 正则表达式(匹配分组)
136 python高级 - 正则表达式(匹配分组)
21 0
|
5月前
|
PHP 开发者
|
5月前
|
Java
Java正则表达式校验实例
Java正则表达式校验实例
40 0
|
6月前
|
Shell
shell中正则表达式中字符的应用具体实例以及详解
shell中正则表达式中字符的应用具体实例以及详解
82 3
|
6月前
|
Linux Windows
最详解的正则表达式------贪婪和非贪婪、转义符、分组
贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。 非贪婪模式只被部分NFA引擎所支持
63 0