grep :是一款文本过滤工具 。其作用:根据用户指定的“模式”对目标文本进行逐个的匹配检查。
正则表达式 REGEXP:有一类特殊字符及文本字符所编写的模式,其中有些字符不表示字面的意义,而表示控制或通配的功能。
正则表达式分为两种:
基本正则表达式:BRE
扩展正则表达式:ERE
grep 工具支持正则表达式,egrep 支持扩展正则表达式,并且grep为-E的选项其实就是正则表达式。
而这里我简单的介绍一下基本正则表达式的语法:
字符匹配:
. : 匹配单个任意字符
[] : 表示匹配中括号里面的任意单个字符
[^] : 表示匹配中括号指定以外的任意单个字符
还有一下中括号几种用法:
[[:alnum: ]]: 表示所有的数字和字母
[[:alpha:]] : 表示所有的字母 (不分大小写)
[[:lower:]] : 表示所有的小写字母
[[:digit: ]] : 表示所有的数字
[[:space:]] : 表示空格字符
[[:upper:]] : 表示所有的大写字母
次数匹配:
* : 表示前面字符任意次数
\+ : 表示匹配前面字符至少1次
\? : 表示匹配前面字符0到1次
\{n,m\} : 表示匹配前面字符n 到m 次
\{n\} : 表示匹配前面字符m 次
\ {n,\} : 表示匹配前面字符至多n次
\ {0,m\} : 表示匹配前面字符至少m次
锚定字符:
^ : 表示行首锚定
$: 表示行尾锚定
^.*$ : 表示行首 行尾锚定 一整行
^[:space:]$ : 表示空行 ,包括空格的行
\< 或\b : 表示 词首锚定
\ > 或\b : 表示 词尾锚定
以上为不分正则表达式的简单的语法。
原创文章,作者:huchaowei,如若转载,请注明出处:http://www.178linux.com/72979