位置: 编程技术 - 正文

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

  • 小规模纳税人开专票税率是1%还是3%
  • 增值税普通发票税率
  • 特定减免税货物的通关程序为
  • 提前一个月完工奖励10万元
  • 水利基金的计税税率6
  • 工会经费申报晚了怎么处理
  • 油费可以抵扣进项税额
  • 出纳个人账户转公户
  • 民间非营利性组织收到个税手续费返还
  • 农产品收购发票可以跨区域开吗
  • 长期待摊费用可以抵扣吗
  • 应收账款周转率多少合适
  • 建筑公司收取的管理费如何入账
  • 商贸公司账务复杂吗
  • 补发工资是否需要交税
  • 上缴税费总额包括个税吗?
  • 通用机打发票税率在哪改
  • 营改增之后还有营业税金及附加吗
  • 中小企业社保优惠延长政策
  • 下岗职工能享受什么待遇
  • 转让地下建筑物交土地增值税吗
  • 子公司借款给母公司是否受2:1
  • 个税怎么抵
  • 企业增速怎么算
  • 小规模季度的税收优惠
  • 货物出库的会计分录
  • 专家评审费如何报账
  • 民间非营利组织会计制度会计科目
  • 电脑怎么纯净启动
  • 公司收到供应商的律师函
  • 固定资产出租需交什么税
  • vue父组件引入子组件
  • 律师费怎样入账
  • 净资产现金回收率说明什么
  • 公司缴纳残保金怎么做账
  • promise歌曲
  • 酒吧送酒的人叫什么
  • javaweb知识点汇总
  • yolov5目标检测流程图
  • 激光器原理及应用
  • laravel 分页 api
  • db2udb
  • 安装和使用蓄能器应注意哪些问题
  • 固定资产折旧范围口诀
  • 注册资金如何使用
  • 固定资产降低
  • 外贸进项税额怎么算
  • 货款已退回货已收到怎么办
  • 工程服务费税率是多少2023
  • 库存商品盘盈和盘亏区别
  • 加计抵减附加税怎么算
  • 固定资产报废由谁审批
  • 预期信用损失率变更属于会计估计变更吗
  • 从农业生产者手中购进免税农产品
  • 记账凭证种类介绍
  • mysql基于什么模型
  • mysql 5.7.11 winx64安装配置方法图文教程
  • 应用商店升级版
  • 机箱前面板是哪里
  • ubuntu屏幕截图快捷键
  • LINUX操作系统的主要组成部分有
  • unix系统的最大特点
  • linux修改软件源
  • srv32.exe - srv32进程是什么文件 有何作用
  • centos7怎么修改用户权限
  • win7如何整理磁盘
  • win7arm
  • node.js的express
  • javascript中的函数
  • a10 config backup for aXAPI
  • unity3d需要什么语言
  • unity音频导入设置
  • vue实现下载功能
  • 网页上面的收藏夹显示
  • 详解Javascript事件驱动编程
  • javascript日常用途有哪些
  • javascript面向对象精要
  • 驻国家税务总局纪检组副组长
  • 四川企业退休人员80岁高龄补贴
  • 为什么企业减少注册资金的原因
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设