特殊正则表达式
特殊字符 | 代表意义 |
---|---|
[:alnum:] | 代表英文大小写字符及数字,即0-9,A-Z,a-z |
[:alpha:] | 代表任何英文大小写字符,即A-Z,a-z |
[:blank:] | 代表空格与tab键 |
[:cntrl:] | 代表键盘上的功能键,ctrl alt del |
[:digit:] | 代表数字,即0-9 |
[:graph:] | 代表除了空格键与tab键外的其他所有按键 |
[:lower:] | 代表小写字符,即a-z |
[:print:] | 代表任何可以被打印出来的字符 |
[:punct:] | 代表标点符号,即: " ‘ ? ! ; # $ 等 |
[:upper:] | 代表大写字符,即A-Z |
[:space:] | 任何产生空白的字符,包括空格键,tab,cr |
[:xdigit:] | 代表16进制的数字类型,包括0-9,A-F,a-f |
基础正则表达式字符
RE字符 | 意义 |
---|---|
^word | 搜寻字符串在行首 |
word$ | 搜寻字符串在行尾 |
. | 一定有一个任意字符 |
\ | 转义字符,特殊符号转成普通字符 |
* | 重复零个到无穷多个前一个RE字符 |
[list] | 字符集合,列出想要获取的字符[abc045] |
[n1-n2] | 字符范围 [a-z][0-9] |
[^list] | 字符集合,列出不想要的字符 |
\{n,m\} \{n\} | 连续n到m个的前一个RE字符 连续n个前一个RE字符 |
+ | 重复一个活一个以上的前一个RE字符 查找(god)(good)(goood)等等字符串,o+表示一个以上的o grep -n 'go+d' xxx.txt |
? | 零个或一个的前一个RE字符 查找gd或god字符串 grep -n 'go?d' xxx.txt |
| | or 查找gd或good字符串 grep -n 'gd|good' xxx.txt |
() | 找出群组字符串 查找glad或good grep -n 'g(la|oo)d' xxx.txt |
()+ | 多个重复群组的判别 找开头是A结尾是C,中间有一个以上的'xyz'字符串 echo 'AxyzxyzxyzxyzC' | grep 'A(xyz)+C' |
^$:表示取空行
.*:0个或多个任意字符