位置: 编程技术 - 正文

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

  • 合同执行过程中应该怎么做
  • 小规模纳税人预缴企业所得税
  • 增值税发票选择确认平台打不开怎么办?
  • 用于员工福利的会计分录
  • 办理税务登记之后
  • u8已记账怎么修改年初余额
  • 优惠政策所得税计算
  • 自产自销农产品企业所得税
  • 资产负债表里是科目还是项目
  • 零售汽油费发票需要交印花税吗?
  • 预付账款讲解
  • 利润表季报表
  • 纳税申报有哪些规定
  • 外包的人力费用包括哪些
  • 收到厂房租金要交税吗
  • 财政票据税务局能查到吗
  • 核销坏账应具备的条件
  • 在win10系统中,如何限制孩子玩原神游戏
  • 股权转让个税怎么缴纳
  • win10插usb没有反应
  • phpserialize
  • 什么是资产负债率,如何计算
  • 闭包csdn
  • 游泳耳朵进水怎么办
  • 如何确定赞助对象
  • 在vue3项目中自定义组件通常存放在
  • PHP:gettimeofday()的用法_Date Time函数
  • 米尔巴特之战
  • Yii使用migrate命令执行sql语句的方法
  • framework怎么用
  • php读取xml接口数据
  • 办公费用会计科目怎么写
  • wordpress site
  • 涉税金额是指金额还是税额
  • 归属于母公司所有者权益合计
  • 跨年发票一般分为哪几类
  • 摄影属于哪种服务业
  • 可以直接在企业所得税税前扣除的是
  • 去银行取对账单需要带什么
  • 其他应付款辅助是供应商还是客户
  • sql server字符连接
  • 转让无形资产使用权
  • 资质办理属于什么开票大类
  • 其他应付款如何清零
  • 车费多付了,怎么追回
  • 农业项目土地流转
  • 小企业会计准则2023电子版
  • 什么叫摊销
  • 诉讼代理费计入成本吗
  • 开票软件服务费计入什么会计科目
  • 所得税费用怎么计提
  • 资金占用利息收入怎么入账
  • 货款尚未收到属于什么会计科目
  • 存货跌价准备怎么结转成本
  • 总分类账建账顺序
  • 固定资产公司
  • 会计从业资格证取消了吗
  • mysql事件id100
  • sql2005生成脚本
  • mysql5.7分区表
  • XP系统无法安装软件
  • win7旗舰版系统恢复
  • win2003和2003r2
  • macbookpro双系统和虚拟机
  • Win10技巧:如何开启隐藏的锁屏时间设置项
  • Stacmon.exe - Stacmon是什么进程 有何作用
  • centos设置ftp
  • win7系统回收站不见了怎么办
  • javascript中的函数
  • cocos2d开发的知名游戏
  • 最简单的游戏开发工具
  • 列宽自适应
  • unity游戏开发的技术路线有哪些
  • python求解析解
  • 百度地图给map添加
  • android隐藏图片
  • flask框架代码
  • 房地产企业税种认定标准
  • 江苏国税局官网
  • 注册地址和税务登记可以不一致吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设