linux 基本正则表达式元字符
1. 字符匹配
**.** ** 匹配任意单个字符,可以是一个汉字**
**[]** ** 匹配指定范围内的任意单个字符,示例:** **[wang] [0-9] [a-z] [a-zA-Z]**
**[^]** ** 匹配指定范围外的任意单个字符** **,** **示例:** **[^wang]**
**[:alnum:]** **字母和数字**
**[:alpha:]** **代表任何英文大小写字符,亦即** **A-Z, a-z**
**[:lower:]** **小写字母** **,** **示例** **:[[:lower:]],** **相当于** **[a-z]**
**[:upper:]** **大写字母**
**[:blank:]** **空白字符(空格和制表符)**
**[:space:]** **水平和垂直的空白字符(比** **[:blank:]** **包含的范围广)**
**[:cntrl:]** **不可打印的控制字符(退格、删除、警铃** **...** **)**
**[:digit:]** **十进制数字**
**[:xdigit:]** **十六进制数字**
**[:graph:]** **可打印的非空白字符**
**[:print:]** **可打印字符**
**[:punct:] 标点符号**
2.匹配次数
用在要指定次数的字符后面,用于指定前面的字符要出现的次数
* 匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
.* 任意长度的任意字符
\? 匹配其前面的字符0或1次,即:可有可无
\+ 匹配其前面的字符至少1次,即:肯定有,>=1
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次,<=n
\{n,\} 匹配前面的字符至少n次
3.位置锚定
用于定位出现的位置
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
\< 或 \b 词首锚定,用于单词模式的左侧
\> 或 \b 词尾锚定,用于单词模式的右侧
\<PATTERN\> 匹配整个单词