大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> CGI专区 -> Perl教学 第六篇 模式匹配之二

Perl教学 第六篇 模式匹配之二

时间: 2021-07-31 作者:daque

14、指定形式定界符 缺省的,形式定界符为反斜线/,但其可用假名m自行指定,如:m!/u/jqpublic/perl/prog1! 等价于/\/u\/jqpublic\/perl\/prog1/注:当用假名'动作定界符时,不做变量替代;当用特出字符动作定界符时,其转义功效或特出功效即不许运用。15、形式步骤变量 在形式配合后挪用重用局部的截止可用变量$n,十足的截止用变量$&。$string = "this string contains the number 25.11.";$string =~ /-?(\d+)\.?(\d+)/; # 配合截止为25.11$integerpart = $1; # now $integerpart = 25$decimalpart = $2; # now $decimalpart = 11$totalpart = $&; # now totalpart = 25.11四、形式配合选项 选项 刻画 g 配合一切大概的形式 i 忽视巨细写 m 将串视为多行 o 只赋值一次 s 将串视为单列 x 忽视形式中的空缺 1、配合一切大概的形式(g选项) @matches = "balata" =~ /.a/g; # now @matches = ("ba", "la", "ta")配合的轮回:while ("balata" =~ /.a/g) {$match = $&;print ("$match\n");}截止为:balata当运用了选项g时,可用因变量pos来遏制下次配合的偏移:$offset = pos($string);pos($string) = $newoffset;2、忽视巨细写(i选项)例 /de/i 配合de,de,de和de。3、将字符串看作多行(m选项) 在此情景下,^标记配合字符串的开始或新的一条龙的开始;$标记配合大肆行的结束。4、只实行一次变量替代例 $var = 1;$line = ;while ($var < 10) { $result = $line =~ /$var/o;$line = ; $var++;}历次均配合/1/。5、将字符串看作单列例 /a.*bc/s配合字符串axxxxx \nxxxxbc,但/a.*bc/则不配合该字符串。6、在形式中忽视空格 /\d{2} ([\w]) \d{2} \1 \d{2}/x等价于/\d{2}([\w])\d{2}\1\d{2}/。五、替代操纵符 语法为s/pattern/replacement/,其功效为将字符串中与pattern配合的局部换成replacement。如:$string = "abc123def";$string =~ s/123/456/; # now $string = "abc456def";在替代局部可运用形式步骤变量$n,如s/(\d+)/[$1]/,但在替代局部不扶助形式的特出字符,如{},*,+等,如s/abc/[def]/将把abc替代为[def]。替代操纵符的选项如次表:选项 刻画 g 变换形式中的一切配合 i 忽视形式中的巨细写 e 替代字符串动作表白式 m 将待配合串视为多行 o 仅赋值一次 s 将待配合串视为单列 x 忽视形式中的空缺 注:e选项把替代局部的字符串看作表白式,在替代之前先计划其值,如:$string = "0abc1";$string =~ s/[a-za-z]+/$& x 2/e; # now $string = "0abcabc1"六、翻译操纵符 这是另一种替代办法,语法如:tr/string1/string2/。同样,string2为替代局部,但其功效是把string第11中学的第一个字符替代为string第22中学的第一个字符,把string第11中学的第二个字符替代为string第22中学的第二个字符,依该类推。如:$string = "abcdefghicba";$string =~ tr/abc/def/; # now string = "defdefghifed"当string1比string2长时,其过剩字符替代为string2的结果一个字符;当string第11中学同一个字符展示屡次时,将运用第一个替代字符。翻译操纵符的选项如次:选项 刻画 c 翻译一切未指定字符 d 简略一切指定字符 s 把多个沟通的输入字符缩成一个 如$string =~ tr/\d/ /c;把一切非数字字符替代为空格。$string =~ tr/\t //d;简略tab和空格; $string =~ tr/0-9/ /cs;把数字间的其它字符替代为一个空格。七、扩充形式配合 perl扶助perl4和规范unix形式配合操纵所没有的少许形式配合本领。其语法为:(?pattern),个中c是一个字符,pattern是起效率的形式或子形式。1、不存贮括号内的配合实质 在perl的形式中,括号内的子形式将存贮在外存中,此功效即废除存贮该括号内的配合实质,如/(?:a|b|c)(d|e)f\1/中的\1表白已配合的d或e,而不是a或b或c。2、内嵌形式选项 常常形式选项置于后来,有四个选项:i、m、s、x不妨内嵌运用,语法为:/(?option)pattern/,等价于/pattern/option。3、确定的和否认的预示配合确定的预示配合语法为/pattern(?=string)/,其意旨为配合反面为string的形式,差异的,(?!string)意旨为配合反面非string的形式,如:$string = "25abc8";$string =~ /abc(?=[0-9])/; $matched = $&; # $&为已配合的形式,此处为abc,而不是abc84、形式解释 perl第5中学不妨在形式顶用?#来加解释,如:if ($string =~ (?i)[a-z]{2,3}(?# match two or three alphabetic characters)/ {...}

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.