位置: 编程技术 - 正文

一个perl扩展正则表达式代码分析(perl keys)

编辑:rootadmin
根据perlre文档的说明,一点一点解释。 首先是/x,用这个来去除regex里的空格,不然的话写在一行太难看懂了; 然后是^,表示从最开头开始; 然后是(?:,这个表示本括号不记入反向引用$&中; 然后是((?:d{1,3}.){3}d{1,3}),同样里面一个(?:,也就是说这一行匹配一个ip,并计为$1; 然后是(?=,这个表示在上面那行ip的正则后面必须出现符合本括号定义,同样也不计入$&(术语叫”零宽肯定前向断言”是吧?); 然后一个隔开ip的|; 然后是(?!,这个表示本括号内的东西绝对不能出现,同样也不计入$&(术语叫”零宽否定前向断言”是吧?); 然后是1,这个就是前面捕获的$1,跟上行解释的断言合在一起,就是|后面不能有和前面匹配的ip重复; 然后是(?1,这个表示前面捕获$1的正则表达式,也就是不重复ip的情况下,继续捕获新ip; 然后是),这个)闭合到|前面的(?:,也就是说|ip可以重复多个; 然后是z,这个是字符串边界,相当于单行里$的作用,在本例中可以互换,用在这里,就是为了让(?!1)的检查一直执行到最后; 然后是),闭合(?=; 然后是|和),这里闭合到^(,表示符合不重复ip条件的ip|格式不断正则匹配; 然后是(?1)$,定义最后一个ip,使用和$1相同的正则,也就是字符串至少要有一个ip。 OK,解释完毕。其实,从后往前看,反而清晰一些~~ 另:perlre中在(??{CODE})段的表述中有如下一段话“In perl 5..x and earlier, because the regex engine was not re-entrant, delayed code could not safely invoke the regex engine either directly with “m//” or “s///”), or indirectly with functions such as “split”.”,而(?R)和(??{CODE})做的是类似而简单的任务,所以如果linux发行版里带的perl版本不够高的话,这里就不能用(?1)的简单写法,需要自己再写一遍了。可以这么判断:

推荐整理分享一个perl扩展正则表达式代码分析(perl keys),希望有所帮助,仅作参考,欢迎阅读内容。

一个perl扩展正则表达式代码分析(perl keys)

文章相关热门搜索词:perl在文件中加入几行,perl-v,perl chmod,perl chmod,perl -ne,perl -ne,perl-v,perl -ne,内容如对您有帮助,希望把文章链接给更多的朋友!

perl实现blog备份的脚本代码 之前总不重视自己的博客,上回一丢才心疼,现在重视起来,决定定期备份sql。写个小脚本如下:#!/usr/bin/perlusewarnings;usestrict;useMySQL::Backup;useMail::Sender;o

perl中子程序中参数的两种引用(传递)方式介绍 下面是一个例子:usestrict;#这里是两个数组my@i=('1','2','3');my@j=('a','b','c');#在进行处理之前,我们把他们先打印出来,看一看他们的样子print"Inmainprogrambefor

perl 指定长度并生成一个随机的DNA序列的脚本代码 #!/bin/perlusestrict;usewarnings;#进行定义my@dna;my$dna_length;my$newbase;my$i=0;print"pleaseinputtheDNAlengthn";chomp($dna_length=);while($i$dna_length){#从四个碱基中随机选取一个my(@

标签: perl keys

本文链接地址:https://www.jiuchutong.com/biancheng/372537.html 转载请保留说明!

上一篇:perl 模块打包加入外部依赖程序(perl package)

下一篇:perl实现blog备份的脚本代码(perl -pe)

  • 转登记纳税人按规定再次登记为一般纳税人后
  • 税收保全措施有金银首饰吗
  • 转让费和押金的区别
  • 金税四期可以查个人账户吗
  • 设定受益计划会计处理案例
  • 红字发票信息表需要盖章吗
  • 完全成本法例子
  • 税法对固定资产大修理
  • 增值税专票怎么抵扣
  • 一般纳税人采购收到普通发票
  • 收到长期股权投资的现金股利
  • 自然人股权转让要交什么税
  • 外管证交税需要带什么材料
  • 金税是干什么的
  • 土地使用税怎么征收标准
  • 个体户需不需要银行开户
  • 停车场领的定额发票要怎么报税?
  • 交社保公积金需要劳动合同吗
  • 未抵扣完的进项税额可以跨年抵扣吗
  • 法定代表人的个人债务会执行公司财产么
  • 残值收入的会计处理
  • 职工聚餐费可以列入职工福利费吗
  • 公司现金用途
  • 路由器的默认网关在哪里看
  • 电脑卡住了按什么键回到桌面
  • 个人应纳税所得额是要交钱吗
  • 八仙花的养殖方法冬季怎么养
  • php自动执行函数
  • 电子缴款凭证能代替完税证明吗
  • 巨人堤道上的玄关图片
  • php网站配置
  • 外币交易汇兑损益包括
  • php如何实现
  • 外出培训餐费要进差旅费吗
  • 如何理解虚拟存储的虚拟
  • vue清空form数据再重新赋值
  • discuz关闭电脑版
  • 住宿费当月抵扣吗
  • 企业资产的范围
  • 出口退税转内销还是转免税好
  • 报验户如何管理
  • 金税盘已作废发票可以取消吗
  • 企业负担的社保费会计分录
  • 网上申请发票要钱吗
  • 建造合同收入的会计处理
  • 免税农产品范围目录的文件
  • 转月是下个月的意思吗
  • 财产转让收入属于什么收入
  • 供应商折扣一次多少
  • 主营业务成本包括工资吗
  • 迟到扣发工资
  • 制造费用需要本年累计吗
  • 闲置资产计提折旧
  • 购买材料发生商损怎么算
  • 收到银行季度结转怎么做
  • 结余资金结转申请怎么写
  • 不能抵扣的会计分录
  • 小规模纳税人是开专票还是普票
  • 流动资产合计怎么算
  • mysql中日期格式
  • mysql命令行配置
  • winXP系统还能用吗
  • win10预览版退回正式版
  • 六款常见的墨水
  • xp系统电脑文件损坏怎样修复
  • linux vim 查找替换
  • centos 7 远程桌面
  • win7登录账号
  • cmd运行指令闪黑框
  • 用bat脚本快速编程
  • unity设置窗口位置
  • jquery detach
  • python语言中
  • android数据存储总结
  • 税基式减免,税率式减免,税额式减免三者之间的联系
  • 广东发票查询真伪网站
  • 医院的电子收据怎么查
  • 湖南省低保电话是多少?
  • 纳税信用d级企业保留几年
  • 内蒙古包头东河机场
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设