用/s 来匹配任意字符 默认情况下,点号(.)无法匹配换行符,这对大多数单行匹配的情况是合适的。
. 圆点用于匹配除换行符外的任何单个字符
+ 意味着一个或多个相同的字符
.+ 匹配任意单个字符至少一次
.* 所有任意数量字符。与前一字符结合,可不出现字符
-? ##零个或一个减号
\d+ #一个或多个数字
\.? #零个或一个小数点
\d* ##零个或多个数字
\S 非空白
\s 空白 \n \t \r \f
\w 英文字母和数字的字符窜
\W 非英文字母和数字的字符串
zabbix:/root/test# cat a1.pl
my $str="abc";
if ($str =~ /(abc)+/){print "1111111\n"};
zabbix:/root/test# perl a1.pl
1111111
+意味着一个或多个相同的字符
+: 一个或多个相同的前导字符(模式). 如:/de+f/ 匹配的是def,deef,deeeef等。
. 匹配除换行外的所有单个字符,通常与*合用
? 匹配0个或1个该前一个字符
.* 所有任意数量字符。 与前一字符结合,可不出现字符。
.*俗称捡垃圾,匹配任意东西
?表示它的前一个项目出现0次或者1次搜索
二者配合起来就是匹配任意东西了
x? 匹配 0 次或一次 x 字符串
x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数