2019-04-17正则表达式

一,

正则表达式:不同符号有不同含义,方便我们在文件中查找过滤内容。

正则表达式=Regular  Expression  RE

正则表达式分类:

基础正则:

^  $     ^$   .   *      .*   []   [^]

扩展正则=Extended  RE  ERE

+  |    ()  {}  ?

通配符与正则表达式的区别

通配符的作用:方便我们进行查找文件。

通配符支持的命令:Linux下面大部分命令支持

正则表达式的作用:方便我们进行过滤(在文件中查找)

正则表达式支持的命令:Linux三剑客开发语言(Python  Go  PHP   JAVA)

使用正则表达式的注意事项:

(1)注意中文符号

(2)给grep/egrep  加上颜色 (CentOS7默认是已经改,CentOS6/5需要自己添加别名)

二,

基础正则

(1)^:以……开头的行   (例如:grep  '^m'   oldboy.txt)

(2)$:以……结尾的行(例如:grep  'm$'   oldboy.txt)

         空格也是符号,也能被过滤出来。

         cat  -A  显示出文件中所有隐藏符号,每一行结尾加上符号($)

         grep -o  显示grep每次过滤出什么内容(配这什么内容)

(3).   点    :在正则表达式中表示任意一个字符(单个并不会匹配空行)

(4) \ 转义字符:脱掉马甲打回原形,去掉符号原有的特殊含义

       撬棍系列:回车= \n      tab=\t

echo  -e  =让echo指出转义字符 \n \t

echo  -n  =不输出每行结尾的回车

(5)*=前1个字符连续出现0次或0次以上

(6).*=所有任意符

正则表达式的特点:贪婪性(能匹配多少就匹配多少)

正则表达式表示所有(.*)或者是连续出现的时候会产生贪婪性。

例如:grep  '^.*0'   oldboy.txt

(7)[]中括号 =在正则表达式中[]里面写入什么就匹配什么(^除了第一位的)

         [abc]相当于1个字符,匹配到a或b或c

         [a-Z]  =[a-zA-Z]

         [a-zA-Z0-Z]=[0-Z]

(8)[^]:取反

         [^abc]=表示不要a或b或c

三,

       扩展正则

      egrep=grep  -E

(1)+:前一个字符连续出现一次或多次

         +加号一般就是与[]一起使用

(2)|=或者

(3)()=被括起来的内容相当于是一个整体(用来表示后向引用(反向引用)

(4){}:连续出现

b{m.n}:表示这个b最少出现m次最多出现n次

b{m}前一个字符连续出现m次

b{m,}前一个字符连续出现至少m次

b{,n}前一个字符连续最多出现n次

(5)?:表示前一个字符出现0次或一次




查找帮助:man  grep  /  info  grep

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容