perl 正则表达式之漫游

    废话不多说了,直奔主题~

    一、简单模式进行匹配

         将模式写在一对//中即可,匹配对象是$_

         元字符:圆括号()      进行模式分组

                    点号   .        能匹配任意一个字符,除换行符( )以外

                    反斜线       在模式中使用反斜线时,请用两个反斜线表示          

1 $_ = 'a real  backslash';
2 if(/\/){
3         print "yes 
";
4     }

          量词:*        匹配前面的条目零次或多次

                  +        匹配前面的条目1次或多次

                  ?       前面的条目可有可无

         模式分组:圆括号()    对字符串进行分组

                       反向引用   在反斜线的后面接上编号,如1,2,数字表示对应的 捕获组

                       捕获组      用反向引用来引用圆括号中的模式所匹配的文字

         择一匹配:竖线|   

   字符集: 一组可能出现的字符,写在方括号内([]),只能匹配单个字符,可以是字符集内的任意一个

                      []字符集以内

                      [^]字符集以外

                      d  数字[0-9]

                      s  任意空白符[f h ]

                      v  垂直空白符

                     h  水平空白符

                     R  断行

                     w  单词[a-zA-Z0-9_]

                    反义简写:大写版本能匹配相应小写版本以外的字符

                                 [dD]匹配任意字符,包括换行

                                 [^dD]什么都不匹配  

1 use 5.0114;    
2 $_ = 'The HAL-9000 requires';
3 if(/d/){
4     say 'yes';
5 }
6 
7 if(/[d]/){
8     say 'yes';
9 }

                

            

原文地址:https://www.cnblogs.com/xiaoxiaocaicai/p/3139053.html