正则表达式
基本正则表达式元字符
字符匹配
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 指定匹配范围外的任意单个字符
[:alnum:] 匹配字母和数字
[:alpha:] 任意英文大小写字符
[:lower:] 小写字母
[:blank:] 空白字符
[:space:] 水平和垂直的空白字符
[:digit:] 十进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
匹配次数:
* 匹配前面的字符任意次
.* 任意长度的任意字符
\? 匹配其前面的字符0或1次
\+ 匹配其前面的字符至少一次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
位置锚定:定位出现的位置
^ 行首锚定
$ 行尾锚定
^PATTERN$ 匹配整行
^$ 空行
^[[:space:]]*$ 空行
\< or \b 用于单词词首锚定
\> or \b 用于单词词尾锚定
\<PATTERN\> 匹配整个单词
分组
\(\) 将一个或者多个字符捆绑在一起,当作一个变量整体处理
示例: \( strin1\+ \(string2\) \)
\1:string1\+\(string2\)
\2:string2
后向引用:引用前面分组括号中的模式匹配字符```