shell编程 正则表达式
正则表达式是一种用于文本匹配的通用语言。
 正则表达式的基本组成部分:
 
 
  
   
 
  
   
 
  
 
   
 
  
 
 
| 正则表达式 | 描述 | 例子 | 
| ^ | 行起始标记 | ^abc匹配以abc起始的行 | 
| $ | 行结束标记 | abc$匹配以abc结束的行 | 
| . | 匹配任意一个字符 | abc . 匹配abc后跟任意一个字符 | 
| [ ] | 匹配包含在[字符]之中的任意一个字符 | abc[de] 匹配abcd 或者 abce | 
| [ ^ ] | 匹配除[^字符]之中的任意一个字符 | abc[^de] 匹配除abcd 或 abce 外abc后跟任意一个字符 | 
| [ - ] | 匹配[ - ]之中制定范围中的任意一个字符 | abc[d-g] 匹配abc后跟d-g 中任意单个字符 | 
| ? | 匹配之前的项1次或者0次 | co?l 匹配 col 或者 cl (1次或者0次) | 
| + | 匹配之前的项1次或者多次 | go+al 匹配 goal 或者gooooal ,o个数大于等于1 | 
| * | 匹配之前的项0次或者多次 | ab*c 匹配abc、abbc、或者ac. *之前字符个数大于等于0 | 
| ( ) | 创建一个用于匹配的子串 | exam(inations)? 匹配 exam 、examinations | 
| { n } | 匹配之前的项n次 | [0-9]{3} 匹配任意一个三位数 | 
| { n, } | 之前的项至少需要匹配n次 | 
       [0-9]{3,} 匹配至少一个三位数
       | 
| { n,m } | 指定之前的项必须匹配的最少和最多次数 | 
       [0-9]{3,5} 匹配一个三位数到五位数之间的数
       | 
| | | 交替匹配 | 两边任意一项 | oct [1st|2nd] 匹配 oct 1st 或者 oct 2nd | 
| \ | 转义字符,将上面介绍的特殊字符进行转义 | a\.b 匹配" a.b " 而不是a\\\\b | 
| 正则表达式 | 描述 | 实例 | 
| [:alnum:] | 字母与数字组合 | [[:alnum:]]+ | 
| 
        [:alpha:]
        | 字母字符(包括大小写字母) | 
        [[:alpha:]]{4}
        | 
| [:blank:] | 空格与制表符 | 
        [[:blank:]]*
        | 
| [:digit:] | 数字字符 | 
        [[:digit:]]?
        | 
| 
        [:lower:]
        | 小写字母 | 
        [[:lower:]]*
        | 
| 
        [:upper:]
        | 大写字母 | 
        [[:upper:]]{1,3}
        | 
| 
        [:punct:]
        | 标点符号 | 
        [[:punct:]]
        | 
| 
        [:space:]
        | 空白字符() | 
        [[:space:]]+
        | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号