perl 模式匹配总结.doc

上传人:11****ws 文档编号:3263210 上传时间:2019-05-27 格式:DOC 页数:3 大小:52KB
下载 相关 举报
perl 模式匹配总结.doc_第1页
第1页 / 共3页
perl 模式匹配总结.doc_第2页
第2页 / 共3页
perl 模式匹配总结.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 perl 模式匹配 总结 正则表达式perl 模式匹配Practiacl Extraction and Report Language一模式匹配操作符1tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力m/ / s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力(当用单引号作为操作符时则不具备变量替换能力)s/ / / , tr/ / / 可以用两组不同的括号进行分割,以保证格式清晰 s(good)2绑定操作符 = , !,m/ / s/ / / tr/ / / 都支持绑定操作符的优先级非常高3. perl 特有的全局变量1. $ , $/g 修饰词的返回值列表

2、环境 : 返回所有匹配字串的列表如: my perls = $string = m/perl/ig ; 如果有捕获圆括号,则返回捕获到的字串如: 用字串 $string = “password=xyzzy verbose=9 score=0”初始化下面的散列:%hash = password = “xyzzy”, verbose = 9, socre=0;%hash = $string = /(w+)=(w+)/g ;标量环境中 /g 表示一次渐进的匹配, 它令 perl 从上一次匹配停下来的位置开始一次新的匹配 如: while (/perl/g) print “ $三s/ / / 操作符(

3、替换)返回值:标量环境里返回值是成功替换的次数替换部分被当作双引号看待可进行变量转换,而且可以使用前半部分模式匹配得到的变量$1,$2,$3 $ # 丢弃开头的空白s/s$/; # 丢弃结尾的空白s/s+/g; # 丢弃中间的空白把逗号放到整数的合理位置$_ = “12345678”;1 while s/(d)(ddd)(?!d)/$1,$2/;Print “$_ n” # 输出: 12,345,678四Tr/ / / 操作符 (转换)1tr 不支持正则表达式 和 变量替换,只是一种单纯的划定范围的替换尽管不支持变量替换,但可以用 eval expr 实现$count = eval “tr/$

4、oldStr/$newStr/”;Die if $;如果仅仅是转换大小写不要使用 tr/ / / 建议使用双引号里的 转移字符 /U /L 类似的 uc lc 函数2修饰词,与 m/ / s/ / / 的修饰词不同/c 与 searchlist 为补/s 消除重复的字符/d 删除找到的但没有替换的字符 ,任何再 searchlist 中声明但再 replacement没有给出替换的字符将被删除。如果没有/d 修饰词,那么1),replacement 比 searchlist 短,则将复制 replacement 最后一个字符直到足够长2),replacement 为空,则 replacemen

5、t = searchlist 可以用此用法统计次数和/s 压缩$string = tr/a-zA-Z/s # bookkeeper - bokeper五元字符12 个元字符 | ( ) $ * + ? : 在字符集中 表示补集 1,2,3 除了 1,2,3在一般的模式中表示 以什么开头$ : 表示以什么结尾六量词 分为最大量词,最小量词(由?控制)1最大量词* 匹配 0 或更多次 匹配 1 或更多次 ? 匹配 1 或 0 次count匹配 count 次min, 匹配至少 min 次 min,max 匹配至少 min 次,但不超过 max 次2最小量词*? 匹配 0 次或更多次?匹配 1 次或更多次?匹配 0 次或 1 次min,? 匹配最多 min 次min,max? 匹配至少 min 次,但不超过 max 次七常用的字母数字正则元符号. 通配符匹配除了换行符外的任何单字符(如果加上修饰词/s 也可以匹配换行符)d 数字 0-9D 非数字s 空格S 非空格w 字 a-zA-Z0-9_W 非字E 结束大小写或掩码l 把下一个字符变成小写 u 大写L 把E 以前的字母都变成小写 U 大写 如: s/revision/u$

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。