Perl 匹配IP或者数字
发布时间:2020-12-15 23:46:49 所属栏目:大数据 来源:网络整理
导读:/pattern/ 结果. 匹配除换行符以外的所有字符x? 匹配 0 次或一次 x 字符串x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数.* 匹配 0 次或一次的任何字符.+ 匹配 1 次或多次的任何字符{m} 匹配刚好是 m
/pattern/ 结果 . 匹配除换行符以外的所有字符 x? 匹配 0 次或一次 x 字符串 x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数 x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数 .* 匹配 0 次或一次的任何字符 .+ 匹配 1 次或多次的任何字符 {m} 匹配刚好是 m 个 的指定字符串 {m,n} 匹配在 m个 以上 n个 以下 的指定字符串 {m,} 匹配 m个 以上 的指定字符串 [] 匹配符合 [] 内的字符 [^] 匹配不符合 [] 内的字符 [0-9] 匹配所有数字字符 [a-z] 匹配所有小写字母字符 [^0-9] 匹配所有非数字字符 [^a-z] 匹配所有非小写字母字符 ^ 匹配字符开头的字符 $ 匹配字符结尾的字符 d 匹配一个数字的字符,和 [0-9] 语法一样 d+ 匹配多个数字字符串,和 [0-9]+ 语法一样 D 非数字,其他同 d D+ 非数字,其他同 d+ w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样 w+ 和 [a-zA-Z0-9]+ 语法一样 W 非英文字母或数字的字符串,和 [^a-zA-Z0-9] 语法一样 W+ 和 [^a-zA-Z0-9]+ 语法一样 s 空格,和 [ntrf] 语法一样 s+ 和 [ntrf]+ 一样 S 非空格,和 [^ntrf] 语法一样 S+ 和 [^ntrf]+ 语法一样 b 匹配以英文字母,数字为边界的字符串 B 匹配不以英文字母,数值为边界的字符串 a|b|c 匹配符合a字符 或是b字符 或是c字符 的字符串 (.*?) 匹配任何字符,也匹配空字符 取消懒惰匹配 例子1: 取出IP地址 [oracle@june2 perl]$ cat a10.pl $var = '[[seri:288i19BF:122.96.47.8_se[[seri:288i19BF:122.96.47.8ssionid:'; if ($var =~ /^[[seri(.*?)(d{1,3}.d{1,3})/){ print "$1 is $1n"; print "$2 is $2n"; }; print "-----------------------n"; $var = '[[seri:288i19BF:122.96.47.8_se[[seri:288i19BF:122.96.47.8ssionid:'; if ($var =~ /^[[seri(.*)(d{1,3})/){ print "$1 is $1n"; print "$2 is $2n"; }; [oracle@june2 perl]$ perl a10.pl $1 is :288i19BF: $2 is 122.96.47.8 ----------------------- $1 is :288i19BF:122.96.47.8_se[[seri:288i19BF:12 $2 is 2.96.47.8 例子2 取出数字 [oracle@june2 perl]$ cat b1.pl $var = 'member?id=123&resource=00012'; if ( $var =~ /(d+)(.*)(d+)/) {print $1."n",$2."n",$3."n"}; [oracle@june2 perl]$ perl b1.pl 123 &resource=0001 2 此时$2 懒惰匹配到了&resource=0001 取消懒惰匹配: [oracle@june2 perl]$ cat b1.pl $var = 'member?id=123&resource=00012'; if ( $var =~ /(d+)(.*?)(d+)/) {print $1."n",$3."n"}; [oracle@june2 perl]$ perl b1.pl 123 &resource= 00012 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |