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