perl 正则详解

用/s 来匹配任意字符  默认情况下,点号(.)无法匹配换行符,这对大多数单行匹配的情况是合适的。  
  
. 圆点用于匹配除换行符外的任何单个字符  
  
+ 意味着一个或多个相同的字符  
  
  
  
.+  匹配任意单个字符至少一次  
  
.* 所有任意数量字符。与前一字符结合,可不出现字符  
  
-? ##零个或一个减号  
  
d+  #一个或多个数字  
  
.?  #零个或一个小数点  
  
d*  ##零个或多个数字  
  
S 非空白  
  
s 空白 
 	 
 f  
  
w 英文字母和数字的字符窜  
  
  
W 非英文字母和数字的字符串 


zabbix:/root/test# cat a1.pl 
my $str="abc";
if ($str =~ /(abc)+/){print "1111111
"};
zabbix:/root/test# perl a1.pl 
1111111


+意味着一个或多个相同的字符  


+: 一个或多个相同的前导字符(模式). 如:/de+f/ 匹配的是def,deef,deeeef等。


. 匹配除换行外的所有单个字符,通常与*合用

? 匹配0个或1个该前一个字符


.* 所有任意数量字符。 与前一字符结合,可不出现字符。


.*俗称捡垃圾,匹配任意东西
?表示它的前一个项目出现0次或者1次搜索
二者配合起来就是匹配任意东西了

x? 匹配 0 次或一次 x 字符串 

x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数 

原文地址:https://www.cnblogs.com/hzcya1995/p/13350178.html