标签:
grep以及正则表达式:
grep,egrep,fgrep
grep:根据模式,搜索文本,并将符合模式的文本行显示出来
模式(pattern):文本字符和正则表达式的元字符组合而成匹配条件
grep [options] pattern [filename,…]
-i: 忽略大小写
--color: 颜色高亮显示模式匹配的
-v: 显示没有被匹配到的行
-o: 只显示被模式匹配到的字符串
-E: 使用拓展正则表达式
-A n: 显示匹配的行,并显示之后的n行
-B n: 显示匹配的行,并显示之前的n行
-C n: 显示匹配的行,并显示之前以及之后的各n行
正则表达式: regular expression(regexp)
基本正则表达式:
元字符:
. : 匹配任意单个字符
[] : 匹配指定范围内的任意单个字符
[^]: 匹配指定范围外的任意单个字符
[:digit:] : 匹配数字 [0-9]
[:lower:] : 匹配小写字母 [a-z]
[:upper:] : 匹配大写字母 [A-Z]
[:punct:] : 匹配标点
[:space:] : 匹配空格
[:alnum:] : 匹配数字和字母 [0-9a-zA-z]
[:alpha:] : 匹配字母 [a-zA-Z]
量词 匹配次数:(贪婪模式)
* : 匹配其前面的字符任意次
.* : 任意长度的任意字符
\? : 匹配其前面的字符1次或0次
\{m,n\} : 匹配其前面的字符至少m次,至多n次
\{1,\} : 至少一次,不限多次
\{0,3\} : 最多三次
分组:
\(\) :
\(ab\)* : ab为一个整体,ab出现任意次数
后向引用:
\1: 第一个左括号以及与之对应的右括号所包含的所有内容
\(l..e\).*\1 \2
位置锚定:
^ : 行首锚定符,此字符后面的任意内容必须出现在行首 ^x
$ : 行尾锚定符,此字符前面的任意内容必须出现在行尾 x$
^$ : 表示空白行
\< | \b : 词首锚定符,其后面的任意字符必须作为单词的首部出现
\> | \b : 词尾锚定符,其前面的任意字符必须作为单词的尾部出现
\<root\> : 表示整个root 单词
扩展正则表达式: 与基本正则表达式想比较,明显的区别是拓展正则表达式对一些符号不需要使用"\"进行转义直接使用即可;未做说明部分表示与上述基本正则表达式用法一样
字符匹配:
. :
[] :
[^] :
量词,次数匹配:
* :
? :
+ : 匹配其前面的字符至少一次 {1,}
{m,n} :
位置锚定:
^ :
$ :
\< :
\> :
分组:
():分组
\1,\2,\3,....
或者:
| : or
C|cat C或者cat
(C|c)at Cat或者cat
标签:
原文地址:http://www.cnblogs.com/Xhale/p/5103357.html