位置: 编程技术 - 正文

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

  • 应税所得率表
  • 房地产开发企业土地增值税预缴
  • 利润分配未分配利润借贷方表示什么
  • 税盘连接服务器失败130008
  • 小规模代开增值税专用发票怎么操作?
  • 无形资产的摊销会计科目
  • 发票可不可以部分冲红
  • 减免50%的城建税分录怎么做?
  • 代购货物的缴税情况
  • 房地产企业汇算清缴
  • 累计折旧的计提分录怎么写
  • 企业外币交易会计核算方法
  • 暂估入库冲回有差额
  • 增值税未抵扣进项税
  • 地毯属于什么类别垃圾分类
  • 预缴企业所得税是含税数还是不含税
  • 处置股权后相应债权坏账损失怎么处理?
  • 会计准则和会计法的关系
  • window10怎么取消快捷方式
  • 字体文件夹在哪
  • 父子之间房屋赠与费用
  • 亚美尼亚格加尔德修道院
  • 小规模纳税人免税额度是多少
  • 基于springboot的毕设
  • mysql集群三种方式
  • 程序员才能看懂的梗
  • 公允价值怎么记账
  • 应收账款项目的金额公式
  • js 自定义类型
  • 前端培训费用大概多少
  • 代扣职工个人应承担的社保费
  • 软件信息技术服务业
  • 收据的种类是有几种
  • 增值税发票认证勾选平台
  • sql主键是什么意思
  • sql server2005查询
  • 汇算清缴补缴所得税摘要怎么写的
  • 疫情期间提涨薪合适吗
  • 金税四期可以查到闭环开票信息吗
  • 月销售额10万以下一般纳税人免征增值税
  • 车辆维修费会计分录
  • 销售增长率计算公式财务管理
  • 交易性金融资产包括哪些项目
  • 车间购买劳保费用会计分录
  • 持有至到期投资减值准备
  • 医生规培补助
  • 发票金额与付款金额不一致情况说明
  • 公司破产账务处理
  • 拆迁置换安置房
  • 财务费用利息收入的账务处理
  • 员工还款还公司会计分录
  • 商品验收入库时怎么做账
  • 返还利润含税吗
  • 应收账款的账面余额是什么意思
  • 刚成立的公司没有五险一金
  • 材料的运费计入哪个科目
  • 固定资产管理系统设置及业务处理
  • 用企业管理器创建一个备份设备
  • mysql触发器语句
  • 如何用u盘装系统win10
  • 神墓凌云
  • mac expose
  • win10任务快速切换
  • linuxvi编辑器三种模式
  • win10系统安全中心在哪
  • CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
  • 安卓手机的手势密码保存在哪个文件
  • unity cpu优化
  • javascript教程chm
  • java使用jni
  • shell脚本实现文件重命名
  • python web网站
  • 自动寻路小说
  • sql怎么增删改
  • python读取linux文件
  • jquery 通过name获取元素
  • 小规模纳税人专票开1%还是3%
  • 湖南电子税务申报
  • 会计基础工作规范2024
  • 消防行政执法风险评估
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设