作者:Carrie
出处:https://home.cnblogs.com/u/hanjiali
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

5.1 正则表达式介绍

正则表达式:正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法

  1. 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。Linux正则表达式一般以行为单位处理。

就是一套处理字符串的规则和方法。以行为单位,对字符串进行处理,通过特殊的符号复制,快速的过滤替换某些字符串。

 

运维工作中会有大量的信息,比如:访问日志,错误日志,大数据时代更加离不开正则表达式,如何快速的过滤出我们需要的内容,就是要靠正则表达式。

 

5.2正则表达式的基础

三剑客 awk,sed,grep 三剑客要想能够工作的更加高效,那就离不开正则表达式。

正则表达式简单应用:

字符 应用                         
^

^word搜索以word开头的内容

 

$   word$  搜索以word结尾的。

[root@localhost ~]# grep 9$ hanjiali.txt

 

phone are 123456 and 123456789

 ^$

 表示空行,不是空格

 

   .

 代表且只能代表任意一个字符(除空行)

 

 

 

   \

 转义字符,让有特殊含义的字符脱掉马甲,现出原形,如\.只表示小数点将“.”转译之后,它也不会代表任何字符,只是一个点。

 

 

 

 

 

 

 

  *  重复之前的字符或文本0个(会输出全文)或多个,之前的文本或字符连续0次或多次
   .*  任意多个字符

1,        匹配任意字符

2,        匹配以任意字符开头的

3,        匹配以任意字符结束的

  ^.*

 以任意多个字符串开头,.*尽可能多,有多少算多少,贪婪性

 

 

 

 

 [abc][0-9][\.,/]

 匹配字符集合内的任意一个字符abc[a-z]匹配所有小写字母;表示一个整体,内藏无限可能;[abc]abc可以写成[a-c]

 

 

 

 

 

 [^abc]

 

 匹配不包含^后的任意字符abc,是对[abc]的取反,且与^含义不同

 

 

5.3 扩展正则表达式

特殊字符 含义 
+

重复前一个字符一次或一次以上,前一个字符连续一个或多个,把连续的文本/字符取出.

 

 

 

 重复前面一个字符0次或1次(.是有且只有1个)

 

 

 

 

 管道符  表示或者同时过滤多个字符

 

 ()

 

 分组过滤被括起来的东西表示一个整体(一个字符),后向引
posted on 2019-09-20 11:06  不吃葡萄楞吐皮  阅读(159)  评论(0编辑  收藏  举报