shell中的正则表达式
-
基本正则表达式元字符
元字符 功能 实例 ^ 行首定位符 ^root $ 行尾定位符 root$ . 匹配单个字符 l…e * 匹配前导符0到多次 l*e .* 任意多个字符 [] 匹配指定范围内任意一个字符 [lL]ove [-] 匹配指定范围内的任意一个字符 [a-zA-z]ove [^] 匹配不在指定范围内的任意一个字符 [^0-9]ove \ 用来转义元字符 \. \< 词首定位符 <root \> 词尾定位符 bash> \(…\) 匹配稍后要使用的字符标签 :3,9 s/(.*)/#\1/ x\{m\} 匹配x字符m次 ro{2}t x\{m,\} 匹配x字符m次以上 ro{1,}t x\{m,n\} 匹配x字符m到n次 r{1,2}t -
扩展元字符(grep不能用,egrep能用)
元字符 功能 实例 ? 匹配0个或一个 roo?t + 匹配1个或多个 roo+t () 组字符,把括着的看作整体 r(oo)+t | 匹配或 a|b (…)(…) 标签匹配字符 (abc)(abc)\1\2 x{m} x匹配m次 ro{2}t x{m,} x匹配m次以上 ro{1}t x{m,n} x匹配m到n次 ro{1,2}t -
POSIX字符类
表达式 功能 实例 [:alnum:] 字母与数字字符 [[:alnum:]]+ [:alpha:] 字母字符(包括大小写字母) [[:alpha:]]* [:blank:] 空格与制表符 [[:blank:]]* [:digit:] 数字字母 [[:digit:]]{3} [:lower:] 小写字母 [[:lower:]]{2} [:upper:] 大写字母 [[:upper:]]{4} [:punct:] 标点符号 [[:punct:]]+ [:space:] 包括换行符,回车等在内的所有空白 [[:space:]]+