首页›文章›Perl模式匹配选项

Perl模式匹配选项

计算机技术 · perl 程序开发2012-04-240次浏览0 个评论

选项描述
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来控制下次匹配的偏移:
offset=pos(offset=pos(string);
pos(string)=string)=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

评论加载中…

发表评论

0/2000