正则表达式-回溯引用,前后一致匹配(五)
来源:互联网 发布:win7组策略设置优化 编辑:程序博客网 时间:2024/06/06 11:46
前面一节所讲到的子表达式是这一章的基础,因此,如果对子表达式没有了解的可以参考前面一张。这一章讲回溯引用,简单来说,回溯引用就是前后要一致性匹配。比如常见的HTML语言就是这样的。比如如下HTML源代码
<html><head><title></title></head><body></body></html>
HTML语言的特点是标签成对出现,既前面有后面一定要有一个作为闭合,否则,这个就会有语法问题。那么,如果我们来检查这样的规则的时候就需要使用回溯引用相关的正则表达式。
简单来讲,前面HTML闭合的正则表达式应该写成这样
<([\w]+)>.*</\1>
这里解释一下,第一个括号表示第一个子表达式既([\w]+),这个子表达式匹配了任意多个字母,比如html或者head等等,后面的\1(也可以用$1,可能不同语言有所不同)表示一定要与前面第一个子表达式一致。既如果前面是html后面也一定是html。这就是回溯引用的使用方法。其实回溯引用通常也用来做替换,这里再介绍个例子
这里我们用下面的语句来查找一个邮件地址:
(\w+[\w\.]*@[\w\.]+\.\w+)
这里有个不同,就是整个表达式使用括号括起来,就是第一个子表达式,接下来我们使用一个替换语句
<A HREF="mailto:\1">\1</A>
这个是常用的HTML的email连接语言,这里的\1就是前面提到的邮件地址,使用这种方法,就是直接完成了语法替换,节约时间。
0 0
- 正则表达式-回溯引用,前后一致匹配(五)
- 正则表达式--子表达式及回溯引用
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 正则表达式(五)------ 匹配模式
- 正则表达式 匹配规则(五)
- Python(五)正则表达式常见匹配
- 正则表达式学习(十)回溯引用backreference
- js中使用正则表达式(五)特殊字符、匹配模式、捕获组与反向引用介绍
- 正则表达式学习(五)匹配一组字符
- 正则表达式高级用法---五(反向引用 /1, /2...)
- 正则表达式 进阶(二)-- 回溯引用、前后查找、嵌入条件
- 我学正则表达式——组(group)和回溯引用(backreference)
- 黑马程序员-day4-正则表达式之回溯引用
- 正则表达式知识详解之回溯引用 (java版示例)
- python正则表达式,向前向后查找与回溯引用
- C语言数组指针
- oj期中测验--改错题A--求表达式的值(2589)
- hibernate
- Idea的快捷功能使用统计
- PHP的UTF-8与GB2312的混合字符串识别转换
- 正则表达式-回溯引用,前后一致匹配(五)
- 微信小程序-view组件
- 实用的开源百度云分享爬虫项目yunshare - 安装篇
- JAVA设计模式示例-1 简单工厂
- js实现input:file的click
- 链表的替代品—内存池
- ArrayList,List,Hashtable和Dictionary的区别
- AndroidStudio导入旧版本工程若干问题
- animation 动画