Perl正则表达式 模式匹配

时间:2022-01-22 05:31:59

m运算符与匹配

修饰符 含义
i 关闭大小写敏感性
m 将字符串作为多行处理
o 只编译模式一次。用于优化搜索流程
s 嵌入换行符时,将字符串作为单行处理
x 允许在正则表达式中提供注释,并忽略空白字符
g 全局匹配,即查找所有具体值。如果用于数组型上下文语境,则会返回一个列表;如果用于标量型上下文语境,则返回真或假

s运算符与替换

格式:

s/old/new/;
s/old/new/i;
s/old/new/g;
s+old+new+g;
s(old)/new/; s[old]{new};
s/old/expression to be evaluated/e;
s/old/new/ige;
s/old/new/x;

替换修饰符

修饰符 含义
e 将替换一侧作为表达式来求值
i 关闭大小写敏感性
m 将字符串作为多行处理
o 只编译模式一次。用于优化搜素流程
s 嵌入换行符时,将字符串作为单行处理
x 允许在正则表达式中提供注释,并忽略空白字符
g 全局匹配。即查找所有具体值

模式绑定运算符

格式

Variable = ~ /Expression/
Variable !~ /Expression/
Variable =~ s/old/new/

模式匹配运算符

示例 含义
$name =~ /John/ 如果$name含有模式则为真。如果有真,返回1.否则返回空值
$name !~/John/ 如果$name 不含有模式,则为真
$name =~s/John/Sam/ 将匹配John的第一个值替换为Sam
$name =~s/John/Sam/g 将匹配John的所有具体值替换为Sam
$name =~tr/a-z/A-Z/ 将所有小写字符翻译为大写字符
$name =~ /\$pal/ 在搜索字符串时使用变量