Linux之正则表达式与通配符

wangxu 2018-04-29

       正则表达式和通配符是两个完全不同的东西,这两个东西特别容易混淆,通配符是bash接口的一个功能,而正则表达式是字符串处理的表达方式。

        特别是“*”。通配符中的*代表0~n个字符的意思;正则表达式是前一个RE字符0个或无限个。

        "?"在正则表达式中前一个RE字符0个或一个;在通配符的意思是一个字符。

        “+”在正则表达式中前一个RE字符一个或一个以上。

        正则表达式和通配符"[]",可以表示一个范围,例如“[a-z]”表示26个小写英文字母,当然要注意语系问题,关于语系问题可以看另外一篇博文。

        正则表达式"{}",表示前一个字符出现的次数,例如前一个字符出现2到5次,‘he{2,5}’表示e出现2到5次。

        正则表达式"()",表示组的字符串,“g(la|oo)d”表示glad或good字符。

       “?,+,()”等属于扩展正则表达式,在linux中grep命令需要使用egrep代替

        

      

        

相关推荐