计算机基础之正则表达式

 

* : 左边的字符有0-无穷个
+ :左边的字符有1-无穷个(扩展的,用egrep或 grep -E)
? :左边的字符有0或1个
{n} :左边的字符有n个
{n,m} :左边的字符有n个-m个
{n,} :左边的字符有n个到无穷个
. :除换行符以外的任意字符
^ :行首
$ :行尾


 

[] : 字符组内的任意字符
[a-zA-Z] 匹配a到Z

注意:如果要匹配的字符就是-本身, - 只能在开头或结尾,且加上转义符
[^] :对字符组内的每个字符取反,非字符组内的字符


 例子:

egrep r[0-9]+t b.txt :r,t之间的数字有1个或多个
egrep -e abd -e abc b.txt  或
egrep 'ab(d|c) ' b.txt 匹配abd、abc

注意正则表达式和通配符的区别。


 

posix定义的字符分类:
[:alnum:] 匹配范围为[a-ZA-Z0-9]
[:alpha:] 匹配范围为[a-ZA-Z]

posted @ 2017-11-05 12:31  Claire_xu  阅读(364)  评论(0编辑  收藏  举报