资源描述:
《perl语言正则表达式简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、[键入文字]perl语言正则表达式简介正则表达式(RegularExpression)是指定模式的一种方法,这种模式对文本进行筛选,只匹配特定的字符串。一旦匹配到了一个字符串,就可以从大量的文本中将其抽取出来,或者利用另一个字符串来替代这个字符串。其使用的格式为/pattern/,使用的匹配操作符为:=~(匹配),!~(不匹配)。Perl语言中因为有这个功能,所以对于字符串的处理能力是非常强有力的。一:常用正则表达式简介:1.匹配模式和匹配操作符:正如上面所说,匹配模式为/patter/,匹配操作符:=~(匹配),!~(不匹配)。例如:if($lin
2、e=~/^round-trip/){……}2.模式中的特殊字符:+,*,?,[],[^],{m}等字符的含义如下:/pattern/ 含义:x? 找寻0个或是1个x字符x* 找寻0个或是0个以上的x字符x+ 找寻0个或是1个以上的x字符{m} 找寻刚好是m个个数指定的字符{m,n} 找寻在m个数个数以上,n个个数以下指定的字符[] 找寻符合[]内的字符[^] 找寻不符合[]内的字符[0-9] 找寻符合0到9的任何一个字符[a-z] 找寻符合a到z的任何一个字符[^0-9]
3、 找寻不符合0到9的任何一个字符[^a-z] 找寻不符合a到z的任何一个字符^x 找寻字符x开头的字符$x 找寻字符x结尾的字符a
4、b
5、c 找到符合a字符或是b字符或是c字符的字符串abc 找到一个含有abc的字符串d 找寻一个digit(数字)的字符,和[0-9]语法一样D 找寻一个non-digit(非数字)的字符,和[^0-9]〕语法一样w 找寻一个英文字母或是数字的字符,和[a-zA-Z0-9]语法一样W 找寻一个非英文字母,数字的字符,和[^a-zA-Z0-9]语法一样s
6、 找寻一个空白的字符S 找寻一个非空白的字符特别的是字符".",它可以匹配除换行外的所有字符,通常与*合用。“.*”表示除换行外得任意个任意字符[键入文字][键入文字]下面是一些正则表达式在实际中用到或常用的范例:范例: 说明:/pe*rl/ 找到p后面跟着0个或多个e,再跟着rl的字符串,如同/cg{0,1}i//pe+rl/ 找到p后面跟着一个以上e,再跟着rl的字符串,如同/cg{1,}i//pe?rl/ 找到p后面跟着0个或是一个e,再跟着rl的字符串,如同/cg{0,1}i//p.rl/ 找到p后面
7、跟着一个任意字符,再跟着rl的字符串/p.*rl/ 找到p后面跟着任意个任意字符,再跟着rl的字符串/p
8、r
9、l/ 找到含有p或r或l的字符串/pe{2,4}rl/ 找到p后面跟着2个到4个e,再跟着rl的字符串/[perl]/ 找到符合有这四个字符任意一个的字符串/[^perl]/ 找到没有这四个字符中任意一个的字符串/round-trip/ 找到含有round-trip的字符串/^round-trip/ 找到开头是round-trip的字符串/round-trip$/ 找到结尾是round-trip的字
10、符串/^*/找到以*开头的字符串/up
11、down/找到以空格up或空格down开头的字符串/CPUutilizationforfiveseconds.*/找到含有"CPUutilizationforfiveseconds加除换行符外的任意字符"的字符串/round-tripmin/avg/max/找到含有“round-tripmin/avg/max”的字符串/^---.*---/找到符合含有在以“---”开头,且在“---"间"---"有除换行符外任何字符的字符串/d%packetloss/ 找寻符合含有"数字%packetloss"的字符串
12、/^+d+/找到以一个或多个空格开头并且后接一个或多个数字的字符串/^pamvr.*/找到以pamvr开头且后接除换行符外任意字符的字符串/up.*up/找到含有两个up且在它们间有除换行符外任意字符的字符串/^-rw-rw-r--/找到以'-rw-rw-r--'开头的字符串/d$/找到以数字结尾的字符串/up$/i找到以up结尾,并且忽略up大小写的字符串/d/ 找寻符合数字的字符串,可以使用/d+/来表示一个或是多个数值的字符串/D/ 找寻符合不是数字的字符串/w/ 找寻符合英文字母,数字的字符串/W/ 找寻
13、符合非英文字母,数字字符的字符if($line=~/d+(\.\d+)?$/)匹配非负浮点数例1:检验