选项描述
g匹配所有可能的Perl模式
i忽略大小写
m将串视为多行
o只赋值一次
s将串视为单行
x忽略Perl模式中的空白
1、匹配所有可能的Perl模式(g选项)
@matches="balata"=~/.a/g;#now@matches=("ba","la","ta")
匹配的循环:
perl
while("balata"=~/.a/g)
{
$match=$&;
print("$match\n");
}结果为:
ba
la
ta
当使用了选项g时,可用函数pos来控制下次匹配的偏移:
string);
pos(newoffset;
2、忽略大小写(i选项)例
/de/i匹配de,dE,De和DE。
3、将字符串看作多行(m选项)
在此情况下,^符号匹配字符串的起始或新的一行的起始;$符号匹配任意行的末尾。
4、只执行一次变量替换例
perl
$var=1;
$line=<STDIN>;
while($var<10)
{
$result=$line=~/$var/o;
$line=<STDIN>;
$var++;
}每次均匹配/1/。
5、将字符串看作单行例
/a.bc/s匹配字符串axxxxx\nxxxxbc,但/a.bc/则不匹配该字符串。
6、在Perl模式中忽略空格
/\d{2}([\W])\d{2}\1\d{2}/x等价于/\d{2}([\W])\d{2}\1\d{2}/。
评论
0评论加载中…