ningleesherry 发表于 2015-12-29 08:10:47

perl 正则表达式之漫游

  废话不多说了,直奔主题~
  一、简单模式进行匹配
  将模式写在一对//中即可,匹配对象是$_
  元字符:圆括号()      进行模式分组
  点号   .      能匹配任意一个字符,除换行符(\n)以外
  反斜线 \       在模式中使用反斜线时,请用两个反斜线表示          



1 $_ = 'a real \ backslash';
2 if(/\\/){
3         print "yes \n";
4   }
  量词:*      匹配前面的条目零次或多次
  +      匹配前面的条目1次或多次
  ?       前面的条目可有可无
  模式分组:圆括号()    对字符串进行分组
  反向引用   在反斜线的后面接上编号,如\1,\2,数字表示对应的 捕获组
  捕获组      用反向引用来引用圆括号中的模式所匹配的文字
  择一匹配:竖线|   
  字符集: 一组可能出现的字符,写在方括号内([]),只能匹配单个字符,可以是字符集内的任意一个
  []字符集以内
  [^]字符集以外
  \d数字
  \s任意空白符[\f\t\h\r]
  \v垂直空白符
  \h水平空白符
  \R断行
  \w单词
  反义简写:大写版本能匹配相应小写版本以外的字符
  [\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 }
  
  
  
  
页: [1]
查看完整版本: perl 正则表达式之漫游