标签:vim 一起 graph var 条件 标点符号 软件 option 一个
文本处理三剑客(grep)-color=auto: 对匹配到的文本着色显示  
-m # 匹配#次后停止  
-v 显示不被pattern匹配到的行  
-I 忽略字符大小写  
-n 显示匹配的行号  
-c 统计匹配的行数  
-o 仅显示匹配到的字符串  
-q 静默模式,不输出任何信息  
-A # after, 后#行  
-B # before, 前#行  
-C # context, 前后各#行  
-e 实现多个选项间的逻辑or关系  
grep –e ‘cat ’ -e ‘dog’ file  
-w 匹配整个单词  
-E 使用ERE  
-F 相当于fgrep,不支持正则表达式  
-f file 根据模式文件处理  
REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能    
程序支持:grep,sed,awk,vim, less,nginx,varnish等    
基本正则表达式:BRE  
扩展正则表达式:ERE  
grep -E, egrep  
采用不同算法,检查处理正则表达式的软件模块  
PCRE(Perl Compatible Regular Expressions)  
字符匹配、匹配次数、位置锚定、分组  
man 7 regex  
. 匹配任意单个字符  
[] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z]  
[^] 匹配指定范围外的任意单个字符  
[:alnum:] 字母和数字  
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z  
[:lower:] 小写字母  
[:upper:] 大写字母  
[:blank:] 空白字符(空格和制表符)  
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)  
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)  
[:digit:] 十进制数字 [:xdigit:]十六进制数字  
[:graph:] 可打印的非空白字符  
[:print:] 可打印字符  
[:punct:] 标点符号正则表达式  
^ 行首锚定,用于模式的最左侧  
$ 行尾锚定,用于模式的最右侧  
^PATTERN$ 用于模式匹配整行  
^$ 空行  
^[[:space:]]*$ 空白行  
\< 或 \b 词首锚定,用于单词模式的左侧  
\> 或 \b 词尾锚定,用于单词模式的右侧  
\<PATTERN\> 匹配整个单词正则表达式  
分组  
示例: (string1+(string2))
\1 :string1+(string2)
\2 :string2
示例:a|b: a或b C|cat: C或cat (C|c)at:Cat或ca
egrep = grep -E  
egrep [OPTIONS] PATTERN [FILE...]  
. 任意单个字符  
[] 指定范围的字符  
[^] 不在指定范围的字符扩展正则表达式  
* 匹配前面字符任意次  
? 0或1次  
+ 1次或多次  
{m} 匹配m次  
{m,n} 至少m,至多n次扩展正则表达式  
^ 行首  
$ 行尾  
\<, \b 语首   
\>, \b 语尾  
()  
后向引用:\1, \2, ...  
a|b a或b  
C|cat C或cat  
(C|c)at Cat或cat  
| 元字符 | 定义 | 
|---|---|
| ^ | 行首 | 
| $ | 行尾 | 
| . | 任意单一字符 | 
| [] | []内任意单一字符 | 
| [^] | 除[]内任意单一字符 | 
| * | *前面字符重复不确定次数 | 
| + | +前面字符重复一次以上不确定次数 | 
| \? | ?前面字符重复0或1次 | 
| \ | 转义符 | 
| .* | 任意长度字符 | 
| {n} | 前面字符重复n次 | 
| {n,} | 前面字符重复n次以上 | 
| {m,n} | 前面字符重复m次和n次之间 | 
| [:alnum:] | 字母和数字 | 
| [:alpha:] | 代表任何英文大小写字符,亦即 A-Z, a-z | 
| [:lower:] | 小写字母 | 
| [:upper:] | 大写字母 | 
| [:blank:] | 水平空白字符(空格和制表符) | 
| [:space:] | 所有水平和垂直的空白字符(比[:blank:]包含的范围广) | 
| [:cntrl:] | 不可打印的控制字符(退格、删除、警铃...) | 
| [:digit:] | 十进制数字 | 
| [:graph:] | 可打印的非空白字符 | 
| [:print:] | 可打印字符 | 
| [:punct:] | 标点符号 | 
| [:xdigit:] | 十六进制数字 | 
标签:vim 一起 graph var 条件 标点符号 软件 option 一个
原文地址:https://blog.51cto.com/12980155/2364003