博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用命名捕获,给匹配加标签
阅读量:4582 次
发布时间:2019-06-09

本文共 605 字,大约阅读时间需要 2 分钟。

Perl 5.10 或更高的版本,?<LABEL>进行命名捕获。 而匹配之后,捕获的内容会保存在散列表%+中,以尖括号的名字作为散列表的键名:

use 5.010;$_ = 'Buster and Mini' ;if (/(?
\S+)/ and (?
\S+)/) } my ($first,$second) = ($+{first},$+{second}); ...}

 

这种技术同样适用于反向引用。 以前需要\1,\2等一一编号,现在只要用\k<label>语法引用命名捕获即可:

use 5.010;$_ = 'Buster and 'Buster' ;if (/(?
\S+)/ and \k
/) } say 'i found the same name twice!' ...}

 

perl 5.10 还引入了相对位置的反向引用,以绝对位置定位反向引用的写法是\g加数字编号:\g1

这种写法必须对每一组捕获的编号从头数起,如果我们需要反向引用的部分是末端,则倒过来数更方便。

\g{-1}  注意:负号两边的花括号。

转载于:https://www.cnblogs.com/tjxwg/archive/2013/03/27/2983875.html

你可能感兴趣的文章
The import java.util cannot be resolved
查看>>
【JQuery】事件
查看>>
cd /d %~dp0
查看>>
Python 01 基础作业
查看>>
兼容各种浏览器的hack写法
查看>>
VALSE2019总结(6)-年度总结-深度网络结构
查看>>
软工实践练习一——个人
查看>>
类中实现 Dispose And Finalize
查看>>
1.6——周总
查看>>
sublime 用到的插件
查看>>
gnats配置文件
查看>>
进度条
查看>>
c3p0连接池
查看>>
python 读取并显示图片的两种方法
查看>>
strtol,strtoll,strtoul, strtoull字符串转化成数字
查看>>
决策树笔记:使用ID3算法
查看>>
WPF 可视化树的用途
查看>>
【CUDA 基础】6.3 重叠内和执行和数据传输
查看>>
Linux - 重定向与管道
查看>>
性能测试学习随笔
查看>>