linux shell下正则表达式的作用很大。
正则表达式是一个处理字符串的强力工具,vi,emacs,grep,awk,sed等工具都支持正则表达式。
系统管理员需要应对很复杂的信息,有必要用regex处理。
1、特定字符串
'the'匹配文件中的the串
2、集合字符选取[]
匹配[]中的任意一个字符
[adfs]匹配a、d、f、s
[a-z]匹配所有小写字母
[A-Z]匹配所有大写字母
[0-9]匹配所有数字
^符号可以对集合取反
[^a-z]匹配所有不是小写字母的字符
3、行首和行尾^$
^匹配行首
$匹配行尾
例如'^$'匹配空行
注意windows下的换行会多出一个^M字符
4、任意一个字符(.)和重复字符(*)
'g..d'匹配'good'、'gold'、'guid'等等
'g*'匹配0个或者多个'g'
5、限定连续重复字符范围{}
{和}需要转义成/{和/}
a{2}匹配两个a
a{2,5}匹配2到5个a
a{2,}匹配2个及以上的a
掌握基本正则表达式一般也就行了,扩展只是起到简洁的效果
扩展
'+' 表示一个或者多个字符
'?' 表示空或者一个字符
'|' 表示'or',多选一
'()' 将字符串分组