一:字符匹配
符号 | 说明 |
---|---|
. | 可以匹配除换行符任一字符 |
[] | 指定范围内的任意字符 |
[^] | 指定范围内外的任意字符 |
[:alnum:] | 字母和数字 |
[:alpha:] | 表示任何英文大小写字符 |
[:lower:] | 小写字母 |
[:upper:] | 大写字母 |
[:blank:] | 空白字符(空格和制表符) |
[:punct:] | 标点符号 |
[:print:] | 可打印字符 |
[:graph:] | 可打印的非空白字符 |
[:digit:] | 十进制数字 |
[:xdigit:] | 十六进制数字 |
[:space:] | 水平和垂直的空白字符(比[:blank:]要广) |
二:匹配次数
符号 | 说明 |
---|---|
* | 匹配前面的字符任意次,包括零次 |
.* | 匹配长度的任意字符 |
\? | 匹配其前面的字符0次或者1次 |
+ | 匹配其前面的字符至少一次 |
{n} | 匹配其前面的字符n次 |
\m,n} | 匹配其前面的字符至少m次,至多n次 |
{,n} | 匹配其前面的字符至多n次 |
{n,} | 匹配其前面的字符最少n次 |
三:位置锚定(定位出现的位置)
符号 | 说明 |
---|---|
^ | 行首锚定,用于模式的最左侧 |
$ | 行尾锚定,用于模式的最右侧 |
\<或者\b锚定 | 用于单词模式的左侧 |
\>或者\b锚定 | 用于单词模式的右侧 |
\<PATTERN\> | 用于模式匹配整行 |
^$ | 空行 |
^ [[::space]]*$ | 空白行 |
四:分组
\(\)将一个或者多个字符捆绑在一起,当作一个整体进行处理。
grep "\(wang\){3\}" //wang进行三次重复的进行匹配