位置: 编程技术 - 正文

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

  • 个体工商户增值税优惠政策2023
  • 小规模纳税人销售农产品税率是多少
  • 房产税纳税义务人
  • 研发费用加计扣除是什么意思啊
  • 小规模未达起征点
  • 用于维修安装服装的材料
  • 无形资产登记什么明细账
  • 专家住宿费入什么科目
  • 总产值和主营业务收入
  • 冲销以前年度营业外支出
  • 想要自己开厂应该怎么做
  • 台港澳与境内合资企业和央企哪个好
  • 租借车辆发生事故后的保险理赔问题
  • 火车票丢失可以抵扣进项税额
  • 污水处理企业如何捕捉碳中和减少了的碳足迹
  • 一般纳税人建筑公司都交什么税
  • 支付利息的诉讼请求
  • 实收资本印花税税率多少
  • 应交税费不核算
  • 工作量法计提折旧会计分录
  • 房地产开发企业资质管理规定
  • 支票进账对方没钱开户行会打电话叫他存钱吗?
  • 坏账收回的账务处理方法
  • 营改增后装饰公司税率
  • 吸甲醛最好的植物是什么?
  • 应收账款的内容包括
  • PHP:mb_strtolower()的用法_mbstring函数
  • opencart 二次开发
  • fsrec.sys
  • php字符串变量
  • git可以管理二进制文件吗
  • 年底会计结账
  • csrsv.exe是什么
  • chat gpt介绍开头
  • php制作数字验证码
  • 关于扩展检索,下列说法正确的是
  • 企业预缴增值税附加税率
  • gpt详解
  • php搜索框查询数据库
  • PHP基于什么语言
  • 什么是市盈率和市净率,谈谈你对两个指标的理解
  • js查找数组所有符合条件数据
  • 新必应申请使用资格
  • 新建利润表
  • 工资和社保基数不一致
  • 红字信息表开错了怎么撤销
  • api接口安全措施
  • 认缴怎么填
  • 商业汇票分为哪几种
  • 购置环保设备一次性扣除
  • 企业促销费用项目有哪些
  • 制单会计岗位风险点
  • 房产交易缴税
  • 暂估入库的商品能出库吗
  • 资源税代扣代缴取消时间
  • 退货开增值税专票可以用负数吗
  • 预计负债是暂时性差异还是永久性差异
  • 减免及返还增值税怎么算
  • 现金支付中的现金是什么
  • 个体户一个月能赚多少钱
  • mysql批量修改字段值
  • freebsd使用wifi
  • ubuntu系统怎么修改ip地址
  • wp7.8升级wp8
  • windows软件包2012能删吗
  • win8怎么分配磁盘空间
  • winxp系统修复 不重装软件
  • 两种方法教你锁门
  • linux的命令行界面
  • HttpURLConnection连接 详解
  • BUG: OpenGL error 0x0500 in -[CCEAGLView swapBuffers] 328
  • 创建一个批处理文件,其功能是在当前
  • python安装pip.whl
  • css 相对定位
  • shell 编程 怎么运行命令
  • JavaScript数据类的特点
  • python设计教程
  • Javascript字符串出现次数
  • jquery的form方法
  • 在税盘上怎么申请电子发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设