Perl模式匹配选项详解

开发 架构
Perl模式匹配选项的概念你是否熟悉,这里和大家分享一下,Perl模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即Perl模式def。

本文和大家重点讨论一下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/。  
  9.  

 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}/。

【编辑推荐】

 

  1. 术语汇编 全面认识Perl模式
  2. Perl文件句柄概念详解
  3. 解析四大Perl操作符用法
  4. 专家推荐 几款常用Perl开发工具
  5. 学习笔记 Perl数字与字符串间的自动转换
责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-16 09:24:59

Perl模式

2010-07-26 10:37:00

Perl模式匹配

2010-07-21 13:27:06

Perl模式匹配

2010-07-26 10:51:26

Perl模式匹配

2010-07-26 11:02:19

Perl模式匹配

2010-07-16 09:14:49

Perl模式

2021-11-28 22:33:01

Go选项模式

2010-07-21 13:35:22

Perl模式匹配

2010-07-20 16:05:07

Perl包

2010-07-13 09:50:55

Perl数组

2022-08-29 15:26:58

MySQLSQL模式

2010-07-15 18:04:20

Perl模式

2010-07-14 15:51:30

Perl 字符匹配

2010-07-20 15:36:58

Perl语法

2010-07-15 11:29:25

Perl格式化输出

2010-07-16 09:06:57

Perl文件

2010-07-16 09:50:23

Perl控制结构

2010-07-16 16:40:48

Perl引用

2010-07-14 15:23:19

Perl文件句柄

2010-07-23 13:53:33

Perl grep函数
点赞
收藏

51CTO技术栈公众号