正则表达式:
   正则表达分为两类:
   basic regexp  基本正则表达式
   extended regexp 扩展正则表达式

 一、basic regexp  基本正则表达式:

1.表示匹配字符
 .     匹配任意单个字符
 []    匹配范围内的字符
 [^a]  匹配非a的字符
     [[:lower:]]  小写字母
     [[:upper:]]  大写字母
     [[:dight:]]  数字
     [[:alpha:]]  大小写字母
     [[:alnum:]]  大小写和数字
     [[:space:]]  空格
     [[:punct:]]  标点符号
    2.表示匹配次数 
     *  匹配其前面的字符任意次。
     .* 任意长度的任意字符,贪婪模式
     x\{m,n\}  x至少出现m次,最多出现n
     x\{m,\}   x至少出现m
     x\{0n\}  x最多出现n/user]
     x\{m\}   指定x出现m
     \?匹配其前的字符0次或1
3.引用
\(内容匹配\)....\1     \1引用前面匹配到的内用
 二、extended regexp 扩展正则表达式
     x{m,n} x至少出现m次,最多出现n
     x{m,\}  x至少出现m
     x{0n}  x最多出现n/user]
     x{m}        出现m
     ?匹配其前的字符0次或1
     + 次数匹配,匹配的字符至少一次;
     | 或者 
 三、锚定符:
    ^ : 表示行首匹配
    $ : 行尾匹配
   ^$:空白行
    \< : 匹配词首,也可以使用\b
    \> :匹配词尾,同样可以使用\b

   这里介绍一种方便我们查找文本内容的工具grep,grep是默认支持基本正则表达式,帮助我们进行模糊查找  
   grep; Galobal research Regular Expression and Printing  
      grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容 匹配 所指定的范本样式,grep指令会把 匹配 范本样式的那一列显示出来。

grep的格式
   grep [options]   file
         --color  为匹配的字符添加颜色表示
         -v       取反匹配
         -i       忽略字母大小写
         -o       仅显示匹配到的字符串
         -q       不显示任何信息
         -E       支持扩展正则表达式
         -A n     匹配到的行再多显示下面n
         -B n     匹配到的行再多显示上面n行                 
         -C n     匹配到的行再多显示上下n行                

下面为大家举出一些实例

举例:
1. #grep "^a" text
从文本中匹配开头为a的行

2. #grep " c$" text
从文本匹配以c为结尾的行

3. #grep "a.c" text
从文本中匹配a开头,c结尾,中间包含任意单个字符的行

4. #grep -o "a.c" text
-o 只显示匹配到的结果,并不讲整行显示出来

5. #grep "a[a-z]c" text
从文本中匹配a开头,c结尾,中间包含任意一个小写字母的行

6. #grep "a[^abc]c" text
从文中匹配a开头,c结尾,中间不包含abc3个任意字母的行

7. #grep "ab*c" text
从文中匹配a开头,c结尾,中间b可以出现任意次包括0次的行

8. #grep "ab\?c" text
从文中匹配a开头,c结尾,b出现0次或一次的行

9. #grep "ab\{2,3\}c" text
从文中匹配a开头,c结尾,中间b最少出现2次最多出现3次的行

10. #grep "ab\{2\}c" text
从文中匹配a开头,c结尾,指定中间b出现2次的行

11. #grep "ab\{1,\}c" text
从文中匹配a开始,c最后,中间b至少出现一次的行

12. #grep -e "ab{2}c" text
扩展正则表达式的应用,和例子10结果相同

13.rep -e "ab+c"text
匹配a开始,c在后,中间b至少出现一次的行,与11相同

14. #grep -i "a" text > file
Grep可以和重定向一起使用,-i忽略大小写,将匹配到aA的行覆盖输入到file
文件中

15. #cat file | grep -p "a"
Grep接收管道传送过来的数据,匹配包含到a的行,加了-p选项,不将匹配结果打印出来