一、正则表达式特殊符号
特殊符号 | 表达含义 |
---|---|
[:alnum:] | 代表英文大小写字母及数字 |
[:alpha:] | 代表英文大小写字母 |
[:blank:] | 代表空格和Tab键 |
[:cntrl:] | 键盘上的控制按键,如CR,LF,TAB,DEL |
[:digit:] | 代表数字 |
[:graph:] | 代表空白字符以外的其他 |
[:lower:] | 代表小写字母 |
[:print:] | 代表可以被打印出来的任何字符 |
[:punct:] | 代表标点符号 |
[:upper:] | 代表大写字母 |
[:space:] | 代表任何会产生空白的字符如空格,tab,CR等 |
[:xdigit:] | 代表16进制的数字类型 |
二、字符组匹配(可直接用grep命令匹配)
[]表示其中包含的任意一个字符,并且只能是一个
字符组 | 匹配的内容 |
---|---|
[abc] | 表示“a”或“b”或“c” |
[0-9] | 表示0-9中任意一个数字,等价于[0123456789] |
[\u4e00-\u9fa5] | 表示任意一个汉字 |
[^a|<] | 表示除“a”、“|”、“<”外的其他任意一个字符 |
[^a-z] | 表示除小写字母外的任意一个字符 |
特殊的字符组匹配符号
字符组 | 涵义 |
---|---|
^word | 表示带搜寻的字符串(word)在行首 |
word$ | 表示带搜寻的字符串(word)在行尾 |
.(小数点) | 表示一个任意字符 |
\ | 表示转义字符 |
* | 表示重复0到无穷个 前一个RE(正则表达式)字符 |
\{n,m\} | 表示找出n到m个 前一个RE字符 |
\{n,\} | 表示n个以上的 前一个RE字符 |
三、扩展规则(需用egrep进行匹配)
符号 | 含义 |
---|---|
+ | 表示重复一个或一个以上的前一个RE字符 |
? | 表示重复0个或一个前一个RE字符 |
| | 表示用或的方式找出数个字符串 |
() | 表示找出群组字符串 |
()+ | 多个重复群组判别 |