perl 模式匹配总结

perl 模式匹配总结

ID:14314998

大小:52.00 KB

页数:3页

时间:2018-07-27

perl 模式匹配总结_第1页
perl 模式匹配总结_第2页
perl 模式匹配总结_第3页
资源描述:

《perl 模式匹配总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、perl模式匹配总结正则表达式――perl模式匹配PractiaclExtractionandReportLanguage一.模式匹配操作符1.tr///替换操作符不支持正则表达式也不具备双引号替换能力     m//s///都支持正则表达式,并且可以提供或限制双引号替换能力(当用单引号作为操作符时则不具备变量替换能力)s///,tr///可以用两组不同的括号进行分割,以保证格式清晰s(good)2.绑定操作符=~,!~,m//s///tr///都支持绑定操作符的优先级非常高 3.perl特有的全局变量1.$`,$&,$’分别存有匹配内容左,

2、匹配内容,匹配内容右的内容2.可以用()捕获特定的模式并依次存入$1$2$3中 二.模式修饰词m//s///和tr///的修饰词不同/i忽略字母大小写/s/m允许模式中存在换行符(一般模式中不允许存在换行符)/x允许模式中换行,并表明注释,使正则表达式更易读/o只编译一次,针对模式中的变量代换/g无穷匹配     三.m//匹配1.分隔符用?或‘作分隔符时有特殊的含义m??表示只匹配一次m’‘表示禁止变量替换和六种转换2.返回值标量环境里匹配成功返回1,失败返回0列表环境里,返回子字串的列表,并捕获()中的模式($key,$value)=~m/(w+

3、:(.*)/;/g修饰词的返回值列表环境:返回所有匹配字串的列表如:my@perls=$string=~m/perl/ig;如果有捕获圆括号,则返回捕获到的字串如:用字串$string=“password=xyzzyverbose=9score=0”初始化下面的散列:%hash={password=>“xyzzy”,verbose=>9,socre=>0};%hash=$string=~/(w+)=(w+)/g;标量环境中/g表示一次渐进的匹配,它令perl从上一次匹配停下来的位置开始一次新的匹配如:while(/perl/g){print“$&

4、”};三.s///操作符(替换)返回值:标量环境里返回值是成功替换的次数替换部分被当作双引号看待可进行变量转换,而且可以使用前半部分模式匹配得到的变量$1,$2,$3$&,等新的修饰词/e把右边当作一个表达式计算利用s///修改字串的用法1.($newStr=$oldStr)=~s/good/bad/g2.替换数组的每一个元素:For(@newArray,@oldArray){s/$_/newStr/g}3.用单程循环对同一个变量重复替换For($string){s/^s//;#丢弃开头的空白s/s$//;#丢弃结尾的空白s/s+//g;#丢

5、弃中间的空白}4.把逗号放到整数的合理位置$_=“12345678”;1whiles/(d)(ddd)(?!d)/$1,$2/;Print“$_”#输出:12,345,678 四.Tr///操作符(转换)1.tr不支持正则表达式和变量替换,只是一种单纯的划定范围的替换尽管不支持变量替换,但可以用evalexpr实现$count=eval“tr/$oldStr/$newStr/”;Dieif$@;如果仅仅是转换大小写不要使用tr///建议使用双引号里的转移字符/U/L类似的uclc函数 2.修饰词,与m//s///的修饰词不同/c与sear

6、chlist为补/s消除重复的字符/d删除找到的但没有替换的字符,任何再searchlist中声明但再replacement没有给出替换的字符将被删除。如果没有/d修饰词,那么1),replacement比searchlist短,则将复制replacement最后一个字符直到足够长2),replacement为空,则replacement=searchlist可以用此用法统计次数和/s压缩$string=~tr/a-zA-Z//s#bookkeeper->bokeper 五.元字符12个元字符

7、()[{^$*+?^:在字符集中^表示补集[^1,2,3

8、]除了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-9]D非数字

9、s空格S非空格w字[a-zA-Z0-9_]W非字E结束大小写或掩码l把下一个字符变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。