11、指定选项
字符"|"指定两个或多个选择来匹配模式。如:/def|ghi/匹配def或ghi。
例:检验数字表示合法性
if ($number =~ /^-?/d+$|^-?0[xX][/da-fa-F]+$/) {
print ("$number is a legal integer./n");
} else {
print ("$number is not a legal integer./n");
}
其中 ^-?/d+$ 匹配十进制数字,^-?0[xX][/da-fa-F]+$ 匹配十六进制数字。
肯定的和否定的预见匹配
肯定的预见匹配语法为/pattern(?=string)/,其意义为匹配后面为string的模式,相反的,(?!string)意义为匹配后面非string的模式,如:
$string = "25abc8";
$string =~ /abc(?=[0-9])/;
$matched = $&; # $&为已匹配的模式,此处为abc,而不是abc8
模式注释
PERL5中可以在模式中用?#来加注释,如:
if ($string =~ /(?i)[a-z]{2,3}(?# match two or three alphabetic characters)/ {
...
}