perl模式匹配修饰符
如题,perl模式匹配修饰符含义
perl有以下几种模式匹配修饰符:igcmsxonpadre
修饰符 | 含义 |
---|---|
- | - |
i | 匹配时忽略大小写 |
g | 全局匹配。默认情况下,正则表达式/adc/匹配"adcdabc"的时候,将只匹配左边的abc,使用g将匹配两个abc |
c | 在开启g的情况下,如果匹配失败,将不重置搜索位置 |
m | 多行匹配模式,将匹配所有行的内容 |
s | 让.可以匹配换行符\n,即该修饰符让.匹配任意字符 |
x | 允许正则表达式使用空白符号,但是不匹配,需要匹配空白符的话,使用\s即可 |
o | 只编译一次正则表达式 |
n | 非捕获模式 |
p | 保存匹配的字符串到{\^PREMATCH}、{^MATCH}、{\^POSTMATCH}中,结果分别对应`、\&、' |
a | 表示使用ASCII方式解释正则表达式 |
u | 表示使用Unicode方式解释正则表达式 |
l | 表示使用Locale方式解释正则表达式 |
d | 使用Unicode或原生字符集 |
r | 替换操作的配套修饰符,使用r修饰符,可以让这个替换操作返回替换后的字符串。 tips:1.r修饰符实际上是先拷贝,然后在拷贝副本上进行替换; 2.r修饰符返回拷贝后的数据; 3.r修饰符替换返回结果为纯文本字符串,即使操作的是一个抽象对象; |
e | 直接在replace出使用perl表达式; 例如my $str = "Li helps Li"; str =\~ s/Li/& x 2/g; say $str; #结果: Li x 2 helps Li x 2 str =\~ s/Li/& x 2/eg; say $str; #结果: LiLi helps LiLi |
后续更新其他未列出的模式匹配修饰符