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/ | 在搜索字符串时使用变量 |