一、正则表达式

简单的说,正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式主要分为两类:基本正则表达式和扩展正则表达式。

二、正则表达式元字符

1、基本正则表达式元字符

.:匹配任意单个字符。例如:

*:匹配其前面的字符任意次。例如:

.*:表示任意长度的任意字符。例如:

[]:指定范围内的任意单个字符。

[^]:指定字符之外的其他字符。例如 

X\{m,n\}表示其前面的字符X至少出现m次,至多出现n次。

X\{m\}表示精确匹配m次。例如:

上例表示[a-z]至少出现一次.

注意:在基本正则表达式中前边要加转义字符\才能使用。

^:行首锚定符。例如:

$:行尾锚定符。例如:

\(\):分组引用;\1:表示第一组括号中的内容;\2表示第二组括号中的内容;依次类推。例如:

2、扩展正则表达式元字符

    扩展正则表达式的元字符和基本正则表达式的元字符基本相同。下面只介绍其不同之处:

\(\)变为只用()表示。

\{\}变为只用{ }表示。

+:表示匹配其前的字符至少一次。

|:或者的意思。 例如a|b表示a或者b都行。例如: 

:匹配前的字符0才或1次。            

三、文本过滤工具grep

1、grep简介

 grepGalobal research Regular Expression and printing,它可以根据我们指定的正则表达式作为模式来匹配文件中的每一行文本,并将匹配到的文本显示出来的工具。

2、grep使用格式

grep [option] PATTERN file……                   

3、grep常用选项

-v:对模式匹配到的结果取反

-i:忽略字母大小写。

-o:仅显示匹配到的字符串。例如:

-E:表示支持扩展正则表达式。

-A n:表示显示匹配到的行和其后的n行。例如:

-B n:表示显示匹配到的行和前的n行。例如:

-C n:表示显示匹配到的行和其上下n行。例如: