用/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 字符串,但匹配可能的最少次数