Linux 正则表达式
Linux 的正则表达式
Linux有两套库可以使用POSIX PCRE 前面一种是Linux自带的
分隔符-分隔单词
\< \> \<[a-z]at\> # 后面这种行也会被匹配到 %$bat!*
“单词”指的是两侧由非单词字符分隔的字符串.非单词字符指字母 数字 下划线之外的任何字符
位置匹配
^a # a开头 t$ # t结尾
重复
* 重复0次或多次 + 重复1次或多次 ? 重复0次或者1次 {n} 重复n次 {n,} 重复n次或者更多 {n,m} 重复n-m次
子表达式-分组
egrep "(or){2,}" xx/xx # or重复2次或更多
反义
放在[]中,注意与匹配开头的 ^ 区别
^[^y] # 不以字母y开头的所有行
分支
正则表达式简单执行”与”的组合 使用| 或者^h|t& # h开头或者t结尾
转义
\ 取消所有元字符的特殊含义\. # 匹配.
逆向引用
子表达式(分组)捕获的内容可以在正则表达式的其他地方使用 使用 \1 表示引用第一个分组捕获内容
(\<.*\>).?( )*\1 # 表示 匹配 某个单词出现后 紧跟0或1个标点符号以及任意多个空格后再次出现这个单词的行
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 yangbenbo@whu.edu.cn
文章标题:Linux 正则表达式
本文作者:杨本泊
发布时间:2019-11-02, 09:22:39
最后更新:2023-07-09, 07:10:11
原始链接:http://yangbenbo.github.io/2019/11/02/Linux-正则表达式/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。