位置: 编程技术 - 正文

一个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)

  • 不征税收入有哪些增值税
  • 用友软件80端口被占用解决方法
  • 建筑工程企业人才引进可以引进医药行业吗
  • 稿费的个人所得税税率是多少
  • 开票金额大于付款金额怎么做分录
  • 软件企业收到先征后返的增值税税款是否要缴纳企业所得税
  • 正常经营损失
  • 支付宝怎么开个人增值税发票
  • 增值税普通电子发票可以抵税吗
  • 建安业一般纳税人是清包工是什么意思
  • 发票冲红后原发票还有用吗?
  • 违约金没有发票
  • 银行利息收入要开发票吗
  • 租赁车辆维修费谁承担
  • 税率为0的增值税发票能抵扣吗
  • 企业所得税为什么那么高
  • 免税品销售有增值税吗
  • 增长率的六个公式
  • 预警期内的应收账款管理
  • 加工费的增值税税率是多少
  • 个贷系统平账专户还款怎么做分录
  • 工程部物品领用表格模板
  • 工程施工科目核算
  • 一般纳税人交税标准是多少
  • 企业会计准则制度
  • 局域网文件共享不稳定
  • 六月雪的养殖方法和注意事项
  • 农行k宝企业网银无法登录
  • linux中ls命令的意思
  • linux 分享文件
  • 其他应付款在现金流量表怎么填
  • 以专利权出资,能否使用专利权
  • kernl32.dll
  • 不给佣金
  • 前端后端选择
  • flex布局使用
  • php 无限级分类
  • vue状态管理有哪些
  • vue中created和mounted
  • 产成品核算的内容
  • 技术人员的工资计入什么费用
  • 城建税减免性质代码是什么意思
  • 土地入固定资产计提折旧吗
  • 采购供应部门发挥的作用
  • 固定资产变卖怎么做账务处理
  • 技术服务费会计科目
  • 小规模企业申报表填写
  • 购车费用怎么进行账务会计处理
  • 车保险返点如何计算
  • 工资及福利费科目
  • 预收账款处理
  • 土地的入账科目
  • 公司汽车购置税怎么交
  • 安装设备是干嘛的
  • 国家对民办幼儿园审批的条件有哪些?
  • 多种不同的 MySQL 的 SSL 配置
  • sql server如何判断数据库是否存在
  • win2003取消自动锁定
  • mac系统小技巧
  • wdcp的/www目录大小调整或增加分区/硬盘的方法
  • ssonsvr.exe - ssonsvr是什么进程
  • win7winxp双系统怎么装
  • windows8 enterprise
  • linux指定格式显示日期
  • windows mobile
  • linux rsyslogd
  • win7系统命令大全
  • js日期选择框
  • js中的原型是什么
  • unity3D游戏开发
  • 简述javascript中的函数
  • node的express
  • 设计模式具有的优点
  • jquery切换css样式
  • javascript 类
  • javascript脚本大全
  • 如何下载成品油库存
  • 锂电池税收优惠政策
  • 增值税即征即退申报表怎么填
  • 企业筹建期间发生的费用应计入什么账户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设