码迷,mamicode.com
首页 > 系统相关 > 详细

linux正则表达式

时间:2016-08-23 23:26:47      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

简单理解就是:

正则表达式就是一套处理字符串的规则和方法,以行为单位对字符串进行处理,通过特殊的符号的辅助,我们可以快速的过滤,替换某些特定字符。

例如:grep(egrep),sed,awk命令都需要正则表达式的配合。提高效率。

 

运维工作中,会有大量访问日志,错误日志,大数据。都需要正则表达式。(快速过滤需要的内容)

 

 

正则表达式一些字符,赋予了它特定的含义:

基础正则表达式:BRE

1)^can 表示该行以can开头。

2)can$ 表示该行以can结尾。             “^$”表示空行,例如:grep  -v “^$”去除空行。

技术分享

3)。     表示任意一个字符(仅一个)。

技术分享

4)\     转义符号,让有特殊身份的字符,无效。例如

技术分享

5)*   重复0个或多个前面的一个字符

技术分享

      ".*"匹配所有字符

技术分享

6)[]     表示字符集合的重复特殊字符的符号

技术分享

7) [^]    表示非    [^can] 表示非c或a或n的内容   [^0-9]匹配非数字

技术分享

9){n,m}  重复n到m次前一个重复的字符 a{n,m} 一般大括号需要转义 a\{n,m\} 用egrep可以去掉斜线

  {n,}   重复最少n次前一个重复的字符

  {n}    重复n次      前一个重复的字符

扩展的正则表达式:ERE

1) +        表示重复一个或一个以上前面的字符

 

技术分享

2) ?   零个或一个字符(待检测)

3) |  用或的方式查找多个符合的字符串 chkconfig --list | grep -E "network|sshd"

4)   ()  找出“用户组”字符串    

技术分享

以上是以grep来举例。大部分可用 awk,sed,grep,egrep

 

在linux查找正则表达式 man grep  搜索REGULAR

 

linux正则表达式

标签:

原文地址:http://www.cnblogs.com/can-H/p/5801092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!