什么是正则表达式?根据模式匹配搜索文本,并将符合模式的文本行显示出来。
模式(Pattern):文本字符和正则表达式的元字符组合而成的匹配条件。
grep :-i 忽略字母大小写
-v 反向查找
-o 只显示被匹配到的字符串本身
--color 将匹配到的字符用颜色显示
-A 显示被匹配到的行的下面几行,后跟数字
-B 显示被匹配到的行的上面几行,后跟数字
-C 显示被匹配到的行的上下面几行,后跟数字
元字符:(贪婪模式:尽可能的根据Pattern匹配到更多的行)
. :任意单个字符
* :匹配次字符前面字符任意次
?:匹配其前字符0次或1次
{m,n}:匹配其前字符至少m次,最多n次,n>m
★由于?、{}、()、等在shell中会被解析,所以一般这些符号用grep命令时在其前面加上逃逸符\。用egrep不用加。
^:锚定行首
$:锚定行尾
[]:匹配指定字符范围内的任意单个字符
[^]:匹配指定字符外的任意单个字符
\<\>:匹配词的开始和结尾可用\b代替
\(\):将()内的字符定义为组,更大的作用为反向引用,如\(XXX\)abcd\1,表示引用第一次()内的内容,如果XXX表示ABC则\1就是ABC
字符集合:
[:digit:]数字 [:lower:]小写字母
[:upper:]大写字母 [:punct:]标点符号
[:space:]空格 [:alpha:]所有字母
[:alnum:]所有字母和数字
扩展的正则表达式
元字符:
+ :表示其前字符匹配至少1次,同{1,}
| :或者,注意|左右为一个整体,如C|cat表示C或者cat,而不是Cat或者cat
本文出自 “Doove” 博客,请务必保留此出处http://doove.blog.51cto.com/1100940/1636700
原文地址:http://doove.blog.51cto.com/1100940/1636700