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]