正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符(元字符)、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻   辑。其中的元字符不表示字符本身的意义,而是用于表达控制或通配等功能;

对象:字符串

组成:元字符+正常字符

功用:过滤文本字符,查找匹配字符并得出结果,供其它命令使用

作用对象:文本字符(文本文件里面的内容)

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

 grep是基础的正则表达式,命令用于在文件内查找指定的字符串。

全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

         grep[-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-o :只显示被模式匹配到的内容

-v :显示不能够被模式匹配到的行

-E:使用扩展的正则表达式

-i :忽略大小写的不同,所以大小写视为相同

 

--color=auto :可以将找到的关键词部分加上颜色的显示喔!

-B :附带显示前面两行

-A :附带显示后面两行

-C :附带显示上下两行一起

 

Linux egrep是扩展的正则表达式,命令用于在文件内查找指定的字符串。

egrep执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。

字符匹配

 . :匹配任意单个字符

[] :指定集合中的任意单个字符

[^]:匹配指定集合外的任意单个字符

:匹配前面的字符出现至少1次

匹配次数限定

* :匹配前面任意次,0,1或者多次,前面字符出现与否都匹配

? :匹配其前面的字符0次或1次

{m} :匹配其前面的字符m次

{m,n} :匹配其前面的字符至少m次,至多n次,{m,} 表示至少m,至多不限制,{0,n}表示至少0次,至多n次

.* :匹配任意长度的任意字符

 

字符锚定

^ :行首锚定,出现最左侧

$ :行尾锚定,出现最右侧

\< :词首锚定,在查找的单词模式的左侧;\<char

\> :词尾锚定,在查找的单词模式的右侧;char\>

\<pattern\>:匹配单词