位置: 编程技术 - 正文

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

  • 小微企业要做企业年金吗
  • 小型微利企业企业所得税优惠政策2021年
  • 跨月的增值税普票作废步骤
  • 暂估入库发票回收怎么办
  • 预缴增值税项目编号填写错误怎么办
  • 上季度所得税申报怎么填
  • 纳税申报现金流量表报错了可以重新申报吗
  • 建筑工程免税项目
  • 残疾人就业保障金
  • 地下建筑房产税减免优惠政策
  • 售后人员出差计入哪个科目
  • 增值税普通发票跨月冲红
  • 购买饲料计入哪个科目?
  • 公司进项票不够怎么回事
  • 增值税发票清单怎么导出
  • 开发票与实际金额不符属于什么
  • 职工福利费包括五险一金吗
  • 研发支出资本化支出在报表哪里
  • 没有道路许可证可上营运吗
  • 票据转让后本公司还有责任吗
  • 房地产记账凭证
  • 研发人员的工会经费计入研发费用吗
  • 支付给业主的赔偿金
  • 进口海运费增值税发票 抵扣
  • 下列各项支出中,允许用现金支付的有
  • 房屋契税怎样计算公式
  • 报税期间如何开发票?
  • PHP:mb_strtoupper()的用法_mbstring函数
  • 不动产税费
  • 客户尾款不付会计分录
  • 什么样的发票可以报销
  • 销售方怎么申请红字信息表
  • 不动产出租管理办法
  • 微信怎么开小
  • 坏账损失属于或有事项吗
  • A Loepa oberthuri moth (© Robert Thompson/Minden Pictures)
  • vuex五个核心概念
  • 芝麻信用app
  • 国内php大牛
  • 要求供应商赔偿说明函范本
  • 预收账款可以用什么科目核算
  • 如何确定固定资产是否已经发生减值
  • 用友t3的操作流程
  • 房地产企业成本结转
  • 管理费用月底结转吗
  • 材料按计划成本计价下,外购材料结算
  • 开具增值税专用发票含税吗
  • 保理手续费计入投资收益吗
  • 每个银行都有结息
  • 电脑开票怎么操作流程
  • 多收客户购置税怎么处理
  • 工资油补也要交税吗
  • 领用材料属于什么费用
  • 记账簿的目的在于为企业
  • openstack 创建云主机,计算节点磁盘不足
  • ubuntu20.04怎么用
  • linux中git命令
  • 注册表怎么优化
  • 在windows xp
  • ubuntu下mysql的常用命令
  • linux终端怎么用
  • ExtJS 2.0实用简明教程 之ExtJS版的Hello
  • unity3d官方教程
  • js旋转函数
  • 如何ssh登陆
  • unity删除对象
  • centos创建shell脚本
  • unity特色
  • unity性能和内存优化
  • 简单又实用的
  • android开发是什么意思
  • js鼠标滚轮缩放
  • 置顶怎么折叠起来
  • js对象值如何表示
  • bootstrap怎么用
  • 南京退林还耕
  • 纳税人未按照规定纳税
  • 税务局追缴社保流程及办理期限
  • 个体户注销还要交税吗?
  • 为什么要进行进气歧管真空度检测
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设