Skip to content

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]代表abc
  • [-]   代表编码顺序内所有字符。[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字符

扩展正则表达式(extended regular expression)

  • 扩展符号  意义
  • ?  匹配0个或一个在其之前的那个普通字符
  • +  匹配一个或多个在其之前的那个普通字符
  • ( ) 表示一个字符集合或用在expr中
  • |  表示“或”,匹配一组可选的字符

本首页参考 https://notes.fe-mm.com/ 配置而成