@llplmlyd
2019-09-30T16:32:49.000000Z
字数 1032
阅读 696
Linux
-i --ignore-case #忽略字符大小写的差别
-n 显示匹配的行号
-e 实现多个选项间的逻辑or 关系
-E 扩展的正则表达式
-o only 仅显示匹配到的字符串
-v 显示不被pattern 匹配到的行,相当于[^] 反向匹配
-w 匹配 整个单词
-c:统计匹配的行数
-w
\(\)
[]
""
-w 以单词的形式来匹配,单独一个整体,如匹配is则下面这两行只有1可以出现在结果里:
1:is is
2:isais
3:ia
4:s1
5:abc
\(\) 组概念 ,可以是一个组成部分,这个匹配is的时候,可以出现1 2两行
[] 匹配括号里面的每个字符,使用这个匹配is的时候,是出现1 2 3 4 四行的,只要含有 i或s都算匹配成功
"" 双引号在使用除[]外的其他匹配规则的时候需要使用""
[]
. 匹配任意单个字符,不能匹配空行
[] 匹配指定范围内的任意单个字符
[^] 取反
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] 十进制数字 或[0-9]
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
次数匹配,单字符(如果不使用组的概念),连续性匹配
* 匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
.* 任意长度的任意字符,不包括0次
\? 匹配其前面的字符0 或 1次
\+ 匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m 次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$,用于模式匹配整行
^$ 空行
^[[:space:]].*$ 空白行
\< 或 \b 词首锚定,用于单词模式的左侧
\> 或 \b 词尾锚定;用于单词模式的右侧
\<PATTERN\>
. 任意单个字符
[] 指定范围的字符
[^]不在指定范围的字符
* 匹配前面字符任意次
?0/1次
+ 至少1次
{m}匹配m次
{m,n}至少m,至多n次
^ 行首
$ 行尾
\<,\b:语首
\>,\b:语尾
分组:()
后向引用 \1 \2