0x00 正则表达式概述
正则表达式是描述一些字符串的模式,是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符。
0x01 正则表达式的分类
基本正则表达式
扩展正则表达式
#这两种分类其支持的元字符不同;
0x02 基本正则表达式的元字符
1、匹配字符:
.: 匹配任意单个字符
[]: 匹配范围内的任意单个字符
[^]: 匹配范围外的任意单个字符
[:space:]: 空格
[:upper:]: 大写字母
[:lower:]: 小写字母
[:alpha:]: 所有字母
[:alnum:]: 所有的数字和字母
[:digit:]: 所有的数字
[:punct:]: 所有的标点符号
2、匹配个数:
*: 匹配其前字符任意次(包括0次)
\?: 匹配其前字符0或1次,即至多一次
\+: 匹配其前字符1次或多次,即至少一次
\{m\}: 匹配其前字符m次
\{m,n\}: 匹配其前字符至少m次,至多n次
\{0,n\}: 匹配其前字符至多n次
\{m,\}: 匹配其前字符至少m次
3、位置锚定:
^: 行首锚定
$: 行尾锚定^PATTERN$: 用于PATTERN来匹配整行^$: 空白行^[[:space:]]*$: 空行或包含空白字符的行
单词:非特殊字符组成的连续字符(字符串)都称为单词
\
\>或\b: 词尾