计算机基础之正则表达式

* : 左边的字符有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]

原文地址:https://www.cnblogs.com/stin/p/7787124.html