4. Bash script中的通配符与正则表达式¶
通配符符号与其意义¶
- 符号 意义
- * 代表任意个(包括0个)字符
- ? 代表一定有一个任意字符
- [] 代表至少有一个中括号内的字符。[abc]代表一定有一个字符,是a/b/c中任一个
- [-] 代表编码顺序内所有字符。[0-9]代表数字,[a-z]代表小写字母,[A-Z]代表大写字母
- [^] 非。[^abc]代表一定有一个字符,只要是非a/b/c的其他字符就行
正则表达式¶
正则表达式(regular expression)¶
- RE字符 意义
- * 重复0个或多个前面的RE字符
- . 点号 任意字符(一定有一个)
- ^word 待查找字符(word)在行首
- word$ 待查找字符(word)在行尾
- \ 转义字符,将特殊符号的特殊意义去除
- [list] 从字符集list中任意选取一个。如[abc]代表a或b或c
- [-] 代表编码顺序内所有字符。[0-9]代表数字,[a-z]代表小写字母,[A-Z]代表大写字母
- [^] 非。[^abc]代表一定有一个字符,只要是非a/b/c的其他字符就行。
- [^a-z]代表非小写字母,[^A-Z]代表非大写字母,[^0-9]代表非数字。
- {n,m} 连续n到m个前一个RE字符
- {n} 连续n个前一个RE字符
- {n,} 连续n个以上前一个RE字符
扩展正则表达式(extendedregular expression)¶
- 扩展符号 意义
- ? 匹配0个或一个在其之前的那个普通字符
- + 匹配一个或多个在其之前的那个普通字符
- ( ) 表示一个字符集合或用在expr中
- | 表示“或”,匹配一组可选的字符