使用简单的模式
$_="yabba dabba doo";
if (/abba/) {
#matched
}
所有在双引号中的转义字符在模式中均有效,比如可以用/coke\tsprite/来匹配
元字符:元字符前使用反斜线将使它变成普通字符
. 匹配单个字符
3\.14159匹配3.14159
.不能匹配 \n
*表示匹配前一项0次或多次
+表示匹配前一项1次或多次
?表示匹配前一项0次或1次
.*表示匹配任意字符任意次
()表示分组,比如/(fred)*/ fred重复0次或多次,可以匹配任何字符串
| 表示或者, /fred|barney|betty/将匹配出现fred or barney or betty的字符
串
[]字符类,匹配列中出现的任意单个字符
[^def]匹配这三个字符之外的任意单个字符
[^n\-z]匹配出了n, -, z之外的任意字符
简写:[0-9] 是 \d
[A-Za-z0-9_] 是\w
[\f\t\n\r ] 是\s,匹配空白:格式符,制表符,换行符,回车,空格。
[^\d]非数字,即\D
[^\w]非word,即\W
[^\s]非空白,即\S
[\d\D]匹配任何字符,包括\n
习题:
1.2.
#!/usr/bin/perl
foreach (<>) {
if (/(f|F)red/) {
print "$_\n";
}
}
3.
foreach (<>) {
if (/\./) {
print "$_\n";
}
}
4.
#!/usr/bin/perl
foreach (<>) {
if (/^([^A-Z]*[A-Z][^A-Z]*)$/) {
print "$_";
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11903161/viewspace-688766/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11903161/viewspace-688766/