您的位置:首页 > 运维架构 > Shell

正则表达式 后向引用

2015-11-28 00:04 423 查看
后向引用:匹配于正则表达式匹配的先前部分

第一步 先把包含在 \( )\ 的部分匹配出

第二布 用\digit ,digit为1-9的数字 匹配前 \( )\ 内对应的字符

实例1:

创建文件a



查找 abcd 字符的行




在满足第一个匹配条件下再满足第二个括号的内容 只有一个




没有满足第二个条件的行




将 abcdcabefac 中第一个 c 删除 更改成满足第二个条件




也就是说先要匹配第一个条件(前面\( )\的字符) 将满足的条件的筛选出
然后再看所筛选的是否再满足第二个条件




实例2:



采用贪婪模式 匹配到最后一个 og



因为后面有 .* 所有在上图匹配到的字符后所有字符都被匹配到了显示红色



怎么第四个不行?不是在匹配的字符中有个 go 吗 ?
注意 :必须是先满足第一个条件 也就是go.*og 中间 .*部分不能用来满足第二个条件



相当于至少满足第一条件匹配的 + 第二条件匹配 (第二条件匹配字符是紧跟第一条件匹配的字符)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息