perl 正则表达式之漫游

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

    一、简单模式进行匹配

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

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

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

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

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

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

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

                  ?       前面的条目可有可无

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

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

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

         择一匹配:竖线|   

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

                      []字符集以内

                      [^]字符集以外

                      \d  数字[0-9]

                      \s  任意空白符[\f\t\h\r]

                      \v  垂直空白符

                     \h  水平空白符

                     \R  断行

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

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

                                 [\d\D]匹配任意字符,包括换行

                                 [^\d\D]什么都不匹配  

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

 

                

            

 

posted on 2013-06-16 16:20  DaMengZhang  阅读(199)  评论(0编辑  收藏  举报