位置: 编程技术 - 正文

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

  • 企业所得税怎么征收几个点
  • 税目是什么意思和内容
  • 即征即退的增值税属于政府补助
  • 递延收益属于利息收入吗
  • 非营利组织缴纳社保
  • 集装箱维护是做什么的
  • 企业清算时
  • 外出经营预缴税
  • 采购商品验收入库流程
  • 利息算增值税吗
  • 营改增后购置设备进项税抵扣怎么做?
  • 扣个税必须要交社保吗
  • 医院食堂承包方案的实施细则
  • 物业费纳税
  • 安装工程开发票
  • 偿还债务是划拨资金吗
  • 维修开票单位写什么
  • 怎么注销win10系统
  • 二手车买卖如何纳税
  • 营业外支出的核算内容包括
  • 第三方支付销售
  • 2021激活windows10
  • 购买不动产会计分录
  • 建筑业主营业务收入二级科目有哪些
  • 计提坏账准备的公式
  • php开发实战权威指南
  • vscode插件vuter
  • vue3+ts+vite
  • 其他综合收益需要写二级科目吗
  • chat的用法及短语
  • 应纳税所得额调整金额怎么算
  • 代扣代缴的境外收入企业所得税可以抵减吗
  • 固定资产一次性折旧账务处理
  • 未开票收入下月开票
  • python中返回结果为true
  • 现金发放工资会扣税吗
  • 金税盘离线开票时间超限怎么办
  • 固定收益票据
  • 补缴以前年度的印花税会计分录
  • 银行承兑汇票如果到期了企业没有兑付
  • 不反写会影响开票吗
  • 未开票收入不入账以规避税收
  • 建筑劳务公司是什么性质
  • 长期借款已经还了怎么办
  • 无形资产摊销账面价值
  • 商业会计主要做什么
  • 分公司注销库存车怎么办
  • 其他应收款对应的预算会计
  • 小规模纳税人收入不能超过多少
  • 工程施工科目核算内容
  • 根据《增值税暂行条例》的规定,适用9
  • 长期股权投资权益法初始成本的确定
  • 收到伙食费的会计处理
  • 存货的实际成本法
  • 什么是格式良好的xml文档
  • SQLSERVER Pager store procedure分页存储过程
  • 数据库的行和列的叙述
  • 软碟通可以制作uefi启动盘吗
  • vssvc.exe
  • 微软手机
  • ie11forwindows10
  • Win8.1怎么打开无线网卡
  • jusearch是什么程序
  • win7系统怎么创建虚拟网络
  • win10预览体验推荐哪个通道
  • form表单中input设置为readonly和disabled的区别
  • javascript闭包函数
  • centos7开不了机
  • wow 脚本开发
  • nodejs cicd
  • android长按app快捷功能
  • linux shell 数组长度
  • unity视频播放
  • python jose
  • 深入理解计算机系统
  • java 视频教程
  • python里list
  • 环保税怎么申报?看完你就明白了
  • 大企业如何做好工作
  • 企业2017年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设