位置: 编程技术 - 正文

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

  • 从香港向境外汇款怎么汇
  • 收到股东投资款怎么做账
  • 财政拨款结余明细科目编码
  • 外币实收资本入账汇率
  • 存货暂估入账需要什么单据?
  • 如何在电子税务局开发票
  • 建筑企业劳务费怎么做账
  • 长期待摊费用可以转入费用或者成本吗
  • 向投资者借款做在什么科目
  • pos机刷卡的银行有哪些
  • 没有实收资本是负债吗
  • 材料存货的期末计量有何特点
  • 如何查询当月社保和公积金是否缴纳
  • 农场管委会是什么性质单位
  • 高新企业财务做账要求
  • 出口企业免抵增值税
  • 印花税资金账簿减免税优惠政策2021
  • 国资委是什么
  • 合同取得成本与销售费用
  • 员工休产假期间公司发工资吗
  • 增值税普通发票几个点
  • 增值税税差调整原因
  • 现金收付业务流程图
  • 坏账准备转回影响应交所得税吗
  • 建筑工地临时工工伤
  • cmos电池耗尽
  • win10 21h1正式版怎么样
  • 增值税要不要计入固定资产的成本中?
  • 安卓手机数据迁移到红米手机
  • 认缴制没有实资本会怎么样
  • 如何在局域网内发布网页
  • 其他应付款不用付了怎么做分录
  • PHP:token_name()的用法_Tokenizer函数
  • 如何区分货币财富和收入
  • 待处理流动资产净损失在资产负债表中
  • 中科院t1
  • unity常用脚本语言
  • yolov5l
  • Chat GPT5如果问世会对世界产生什么影响?以及未来chat gpt 5会取代什么类型的工作。
  • php框架自动加载
  • 营改增小规模纳税人可以进项税额扣除对吗
  • 银行回单箱费会退回吗
  • 公司购买办公家具可以抵扣吗
  • phpcms是什么框架
  • javatoolkit详解
  • 有形动产租赁属于现代服务业吗
  • 普通发票有什么
  • 商家的这些行为对消费者的购买行为有什么影响
  • 资产处置损益要写明细账吗
  • 母子公司合并报表案例
  • 一个月没钱
  • 新收入准则 2021
  • 应付账款负数如何调整账务
  • 检测费专用发票会计分录
  • 车子租赁费开什么发票?多少税
  • 年底计提利息会计分录
  • 预付账款和预收账款怎么区分
  • 季度申报表弥补以前年度亏损
  • sql server 1222解决
  • win10 性能选项
  • 数码相机无线连接手机
  • windows域环境搭建
  • win8.1怎么安装appx没有许可证
  • linux小技巧
  • cocos2dx schedule
  • android环境搭建教程
  • linux中shell脚本编写
  • android自定义属性详解
  • 去掉字符串中的某个值
  • unity游戏开发简历
  • node.js web开发
  • shell if -lt
  • Unity Enemy behaviour
  • javascript总结笔记
  • 资源税包括哪些
  • 浙江普通发票查验
  • 境外付款需要什么手续
  • 城市维护建设税法自2021年10月1日起施行
  • 镇江涨潮退潮时间表
  • 灵活就业登记审核查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设