第八天 Linux正则表达式 您所在的位置:网站首页 grep正则表达式实例 第八天 Linux正则表达式

第八天 Linux正则表达式

#第八天 Linux正则表达式| 来源: 网络整理| 查看: 265

1、什么是正则表达式

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

(2)运维工作中,会有大量的访问日志、错误日志等数据。如何快速过滤出需要的内容,就得靠正则表达式。

(3)awk,sed,grep(egrep)想用好三剑客,首先就需要掌握正则表达式,Linux中的正则表达式主要就是用awk、sed、grep(egrep)。

2、正则表达式的特殊字符

基础正则表达式:

(1)^ 以什么开头,例:^test 搜索以test开头的。

(2)$ 以什么结尾,例:test$ 搜索以test结尾的。

(3). 代表且只能代表任意一个字符。

(4)\ 转义字符,让有特殊意义的字符还原成普通字符。

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

(6).* 匹配所有字符。例:^.* 以任意多个字符开头 。

(7)[] 是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。[]无论里面有几个字符,它都只代表某“一个”字符。

(8)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

(9)[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。 [0-9]* 匹配数字(注意后面有 *,可以为空)。

(10){} 一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。

(11){n,m} 重复n到m次,前一个重复的字符。

(12){,m} 重复最多m次,前一个重复的字符。

(13){n,} 重复最少n次, 前一个重复的字符。

(14){n} 重复n次,前一个重复的字符。

扩展正则表达式:

(1)| 用或的方式查找多个符合的字符串。

(2)+ 重复一个或一个以上前面的字符。

(3)? 重复0个或一个前面的字符。

(4)() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。

(5)()+ 多个重复组的判别。

(6)(0-9) 匹配 '0-9' 本身。

3、正则表达式不同命令对比grepegrepsedawk转义\\\\行头^^^^行尾$$$${m} {m,}{m,n}\{n\}{n}\{n\}awk使用--posix或--re-interval选择是,{n}可以直接使用,若不使用该选项,则不能使用{n}这种模式,要表示{或}本身意义,可使用\\{或\\}来表示{0,}****或\*,(要表达*,得用\\*){1,}\++\++或\+,(要表达+,得用\\+){0,1}\??\??或\?,(要表达?,得用\\?)4、正则表达式实例演示

(1)查找特定字符串

(2)利用[]查找字符集

(3)行首与行尾字符^$

(4)任意字符.与重复字符*

(5)限定连续字符范围{}

(6)取网卡的IP地址

原文链接:第八天 Linux正则表达式 - FeiyingBlog,转载请注明出处。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有