正则表达式(regular expression);
1. 定义
正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
2、参数用法;
- A1:匹配所在行及其后面1行的内容。
- B2:匹配所在行及其前面2行的内容。
- C1:匹配所在行及其前后1行的内容。
- -c:显示含有b的行数。
- -e aa -e cc:匹配含有aa和cc的内容。
- -in c:匹配含有c的内容并显示行数。
- . 匹配任意单个字符,不能匹配空行
- [] 匹配指定范围内的任意单个字符
- [^] 取反
- [:alnum:] 或 [0-9a-zA-Z]
- [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
- [:punct:] 标点符号
- * 匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
- .* 任意前面长度的任意字符,不包括0次
- ? 匹配其前面的字符0 或 1次
- + 匹配其前面的字符至少1次
- {n} 匹配前面的字符n次
- {m,n} 匹配前面的字符至少m 次,至多n次
- {,n} 匹配前面的字符至多n次
- {n,} 匹配前面的字符至少n次
- ^ 行首锚定,用于模式的最左侧
- $ 行尾锚定,用于模式的最右侧
- ^PATTERN$,用于模式匹配整行
- ^$ 空行
- ^[[:space:]].*$ 空白行
- < 或 \b 词首锚定,用于单词模式的左侧
- > 或 \b 词尾锚定,用于单词模式的右侧