perl 模式匹配总结

您所在的位置:网站首页 perl匹配多个字符串 perl 模式匹配总结

perl 模式匹配总结

2024-01-11 15:22| 来源: 网络整理| 查看: 265

正则表达式――perl模式匹配

补充:http://www.regexlab.com/zh/regref.htm

Practiacl Extraction and Report Language

一.模式匹配操作符

1.tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力

      m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力(当用单引号作为操作符时则不具备变量替换能力)

s/ / / , tr/ / /  可以用两组不同的括号进行分割,以保证格式清晰s(good)

2.绑定操作符 =~ , !~,m/ /  s/ / /  tr/ / / 都支持

绑定操作符的优先级非常高

 

3. perl 特有的全局变量

1.  $` , $& , $’ 分别存有匹配内容左,匹配内容,匹配内容右的内容

2. 可以用()捕获特定的模式 并依次存入 $1 $2 $3 中

 

二.模式修饰词

m/ /  s/ / /  和 tr/ / / 的修饰词不同

 /i

忽略字母大小写

/s  /m

允许模式中存在换行符 (一般模式中不允许存在换行符)

 /x

 允许模式中换行,并表明注释,使正则表达式更易读

 /o

 只编译一次,针对模式中的变量代换

 /g

 无穷匹配

 /e

 修饰词把 REPLACEMENT 当作一个 Perl 代码块,而不仅仅是一个替换的字串。执行这段代码后得出的结果当作替换字串使用。

 

 

 

my   $str   =   " hello     chinaUnix i am wlj   ! " ; $str   =~  s / ( s + ) / length ($ 1 )  ==   1   ?  $ 1   :   ' _ '  x  length ($ 1 ) / eg; # $str =~ s/(s{2,})/'_'x length($1)/eg; print   " $str  " ; # #------结果-------------------- hello_____chinaUnix i am wlj___ !  

 

三.m/ /  匹配

1.分隔符

用 ? 或 ‘



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3