`

Perl 入门读书笔记 Expression

    博客分类:
  • Perl
阅读更多
m// 匹配模式

/i case insensitive
/x ignore pattern white space
/s 输入视为单行
/g 全局匹配所有
/o 对pattern为变量替换的只赋值一次
/m 所有行里逐行匹配
/e 替换块视为perl代码而非字符串

\b word border
\B non word border
\d [0-9]
\D [^0-9]
\w [A-Za-z0-9]单个字符
\W [^_A-Za-z0-9]
\s [ \r\n\t\f]空白\f换页符
\S [^ \r\n\t\f]任意非空白
=~ match the left string, not $_
$num pattern matched result in curve, num is curve index, $num捕获的是离它最近的表达式的圆括号匹配值
(?:) 左括号后加?:表示本括号不参加捕获,则捕获index顺延
(?<label>pattern) 5.10后将捕获结果存入%+, 通过$+{label}来获得对应匹配值
\k<label>等效于\g{label},支持(?P=label)写法
$`保存了正则匹配之前的内容,$&保存匹配的整个段落,$'保存匹配结束后的内容, 捕获离的最近的表达式,会有性能问题
{0, 5} 前面元素出现0到5次


s/// 替换模式
/g 替换所有不重复部分
/m multiple lines,在所有行里逐行匹配替换
\U将其后所有替换为大写
\L将其后字符转为小写,和\E配合限定范围
\l \u 只影响第一个字符
\u\L 可以这样配合使用首字母大写

split 保留开始空格,省略结尾空格, 默认以/s+匹配$_
join 以开始定义的连接符连接所有元素,至少要有两个元素
匹配模式里的括号匹配内容可以保存到数组或hash, /g模式下顺序保存每个匹配,非/g模式保存结果,匹配到为1,没匹配到为空。
贪婪两次+*?{}和?配合组成非贪婪量词,贪婪量词优先右匹配,然后回溯,vice versa
$^I 赋值后把源文件修改为此扩展名的文件,并创建源文件同名文件,把内容写入新文件。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics