perl python正则表达式_Perl正则表达式

perl正则表达式就是通过一串特别设计的字符串,可以按照我们的需求匹配、替换、转化目标字符串。本文主要是对一些常用的正则表达以及语法的总结以及举例,供广大喜爱Perl的同学交流学习。

操作符:

=~ 或 != 分别表示匹配与不匹配

$regx = "perl";

$string = "I like perl";

if ($string =~ $regx){

print "match";}

匹配、替换、转化

匹配:m//;或//;

如:$string =~ m/$regx/;

替换:s///

s///g:在末尾加上g表示把字符串中所有匹配的模式全部替换为。

如:$string =~ s/$regx/python/;

转化:tr///

如:$str =~ tr/A-Z/a-z/;

选项说明:

g 匹配所有可能的模式

i 忽略大小写

x 忽略模式中的空白

得到匹配的字符串:

正则表达式中圆括号里匹配的模式,依次赋给系统变量:$1,$2,...。

my $string = "I get up 8:00 every morning";

if ( $string =~ /([0-9]+):([0-9]+)/ ){

print "$1:$2";}

转义符号\

有时我们需要匹配一些特殊符号,那么需要对其进行转义,需要在特殊字符前加上转义符\,如回车\\n,制表符\\t,斜杠\\和\/,引号\'和\",方括号\[和\],圆括号\(和\),美元号\$,上尖号\^,星号\*,点号\.,问号\?,加号\+等等。

如:匹配字符串中的美元符号:

$string = "I earn $123.7";

if ($string =~ /\$/){...}

正则表达式常用模式:

. 匹配除换行符以外的所有字符

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 空格,和 [\n\t\r\f] 语法一样

\s+ 和 [\n\t\r\f]+ 一样

\S 非空格,和 [^\n\t\r\f] 语法一样

\S+ 和 [^\n\t\r\f]+ 语法一样

\b 匹配以英文字母,数字为边界的字符串

\B 匹配不以英文字母,数值为边界的字符串

a|b|c 匹配符合a字符 或是b字符 或是c字符 的字符串

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页