Perl以及正则在Perl中的应用.pptx

上传人:wuy****n92 文档编号:70796498 上传时间:2023-01-28 格式:PPTX 页数:24 大小:282.82KB
返回 下载 相关 举报
Perl以及正则在Perl中的应用.pptx_第1页
第1页 / 共24页
Perl以及正则在Perl中的应用.pptx_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《Perl以及正则在Perl中的应用.pptx》由会员分享,可在线阅读,更多相关《Perl以及正则在Perl中的应用.pptx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Perl技巧分享Perl以及正则在Perl中的应用By 小亮寒暄此处省略大约一千八百余字这里可以鼓掌了谢谢如何在windows下使用cpan一分钟学会perl$,%for/foreach,whileopenprintmy words=(a,b,c);foreach(words)print;Perldoc f forSearch.cpan.org常用简写while()print if/Norma/;$x=1;print$x+,n until$x=5;alpha=(a.z,n);print foreach alpha;注释的方法1.标准方法:#2.=for comment Commented te

2、xt =cut3.C+;/*This is a comment.C+style!*/Perl日常用途读取文件,进行文本处理Open DH,”xxx.txt”抓取页面,然后进行文本处理-lwp配合其他程序,对结果进行文本处理Netstat an|findstr“:80”|perl e“while()$i+print$i”示例正则什么是正则Hello202.138.32.34正则的三种模式匹配:m/(还可以简写为/,略去 m)替换:s/转化:tr/修饰词含义/i 忽略字母大小写/m 令 和$匹配随后嵌入的 n。/s 令.匹配换行符并且忽略废弃了的$*。/x 或略(大多数)空白并且允许在模式里的注释

3、/o 只编译模式一次/g 全局地查找所有匹配s模式和m模式的区别:s:/e 把右边当作一个表达式计算m:/cg 在/g 匹配失败后允许继续查找正则-选择自己的分隔符s(egg);slarvapupa;spupa/imago/;s!aaa!bbb!;saaabbb;正则量词量词原子性 含义*否 匹配 0 或者更多次数(最大)。+否 匹配 或者更多次数(最大)。?否 匹配 1 或者0 次(最大)。COUNT 否 匹配COUNT 次MIN,否 匹配至少MIN 次(最大)。MIN,MAX 否 匹配至少MIN 次但不超过MAX 次(最大)*?否 匹配0 或者更多次(最小)+?否 匹配1 或者更多次(最小

4、)MIN,?否 匹配最多MIN 次(最小)MIN,MAX?否 匹配至少MIN 次但不超过MAX 次(最小)扩展的正则序列(?#.)否 注释,抛弃(?:.)是 只集群,不捕获的圆括弧(?imsx-imsx)否 打开/关闭模式修饰词(?imsx-imsx:.)是 集群圆括弧加修饰词(?=.)否 如果前向查找断言成功,返回真(?!.)否 如果前向查找断言失败,返回真(?.)是 匹配未反向跟踪的子模式(?.)否 执行嵌入的Perl 代码(?.)是 匹配来自嵌入Perl 代码。正则的例子*(?:)*前半部分用来匹配后半部分用来匹配单独的&w+;匹配类似&nbps;匹配注释匹配注释中的/考虑分号,或者一行

5、的开始(?!http:)/匹配http:/正则的例子-2Perl 逐字匹配perl-e$x=vvvvvvv;while($x=/v(?=vv)/g)print 1Perl 匹配 非!叹号perl-eprintaaahttp:/aaaa=m(?Perl 匹配多行my($want_str)=$k=mscript(.*?)sm;正则的例子-3$x=1;print$x+,n until$x=5;alpha=(a.z,n);print foreach alpha;正则的例子-4问题:你想找到第N个fish.比如,想找到第三个“fish”字串:字串:One fish two fish red fish b

6、lue fish解决方法第一种,使用/g模式,配合while计数:$WANT=3;$count=0;while(/(w+)s+fishb/gi)if(+$count=$WANT)print The third fish is a$1 one.n;#Warning:dont last out of this loop The third fish is a red one.或者选择下面这种奇妙的方式:/(?:w+s+fishs+)2(w+)s+fish/i;正则的例子-5#简单的使用while$count=0;while($string=/PAT/g)$count+;#or whatever y

7、oud like to do here#高端的用法$count=0;$count+while$string=/PAT/g;#或者forfor($count=0;$string=/PAT/g;$count+)正则的例子-6匹配大于15的数字my$string=11,13,17,22,101,33,001,003,0010,001000,15.5,171.77;while($string=/0*(1-9d2,|16-9|2-9d).?d*/g)print$&.n;例6-2my$string=11,13,17,22,101,33,001,003,0010,001000,15.5,171.77;my result=split(/,/,$string);map print$_.,”if$_16 (sort$a$b result);阅读源码别人的代码,知道或不知道功能。理解每段的含义。谢谢

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁