Perl正则表达式
2.1 三种形式[2]
匹配:m/<regexp>/ (可以省略m,直接写成/regexp/)
替换:s/<pattern>/<replacement>/
转化:tr/<pattern>/<replacement>/
博文[3]给出了8种模式,rename命令常用到替换和转化两种(用匹配也没意义)。
转换跟替换不同,替换是将replacement整个字符串替换pattern字符串,而转换则是用replacement逐个字符替换pattern逐个字符,结果依赖于replacement与pattern字符个数(见下述分析)。
(1)替换
替换表达方式如下[3],还有一系列参数,貌似不怎么用得着。
s/PATTERN/REPLACEMENT/egimosx
e Evaluate the right side as an expression.
g Match globally, i.e. all occurrences.
i Case-insensitive pattern matching.
m Treat string as multiple lines.
o Only compile pattern once, even if variables within it change.
s Treat string as single line.
x Use extended regular expressions
e评估右侧为表达式。
g全局匹配,即所有匹配项。
i不区分大小写的模式匹配。
m将字符串视为多行。
o仅编译一次模式,即使其中的变量发生变化也是如此。
s将字符串视为单行。
x使用扩展的正