Perl模式匹配选项详解

本文和大家重点讨论一下Perl模式的概念,Perl模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即Perl模式def。其用法如结合函数split将字符串用某Perl模式分成多个单词:@array=split(//,$line)。

Perl模式简介

Perl模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即Perl模式def。其用法如结合函数split将字符串用某Perl模式分成多个单词:@array=split(//,$line);

Perl模式匹配选项

选项描述
g匹配所有可能的Perl模式
i忽略大小写
m将串视为多行
o只赋值一次
s将串视为单行
x忽略Perl模式中的空白

1、匹配所有可能的Perl模式(g选项)

@matches="balata"=~/.a/g;#now@matches=("ba","la","ta")
匹配的循环:
while("balata"=~/.a/g){
$match=$&;
print("$match\n");
}
结果为:
ba
la
ta
当使用了选项g时,可用函数pos来控制下次匹配的偏移:
$offset=pos($string);
pos($string)=$newoffset;

2、忽略大小写(i选项)例

/de/i匹配de,dE,De和DE。

3、将字符串看作多行(m选项)

在此情况下,^符号匹配字符串的起始或新的一行的起始;$符号匹配任意行的末尾。

4、只执行一次变量替换例

 
 
 
  1. $var=1;
  2. $line=;
  3. while($var<10){
  4. $result=$line=~/$var/o;
  5. $line=;
  6. $var++;
  7. }
  8. 每次均匹配/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}/。

本文标题:Perl模式匹配选项详解
转载注明:http://www.mswzjz.cn/qtweb/news18/326568.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能