Vim

基本正则表达式元字符

^	                行首定位符			^love	
$			行尾定位符		        love$	
.			匹配单个字符			l..e
*			匹配配前导符0到多次	        ab*love
.*                      任意多个字符
[]			匹配指定范围内的一个字符	[lL]ove
[ - ]		        匹配指定范围内的一个字符	[a-z0-9]ove
[^]			匹配不在指定组内的字符		[^a-z0-9]ove
\			用来转义元字符		        love\.
\<			词首定位符		        \<love
\>			词尾定位符		        love\>
\(..\)		        匹配稍后使用的字符的标签
                        :% s/172.16.130.1/172.16.130.5/	
                        :% s/\(172.16.130.\)1/\15/  
                        :% s/\(172.\)\(16.\)\(130.\)1/\1\2\35/
			:3,9 s/\(.*\)/#\1/	
					
x\{m\}		        字符x重复出现m次	       o\{5\}
x\{m,\}		        字符x重复出现m次以上	       o\{5,\}
x\{m,n\}	        字符x重复出现m到n次	       o\{5,10\}

扩展正则表达式元字符

+				匹配一个或多个前导字符	[a-z]+ove	
?				匹配零个或一个前导字符	lo?ve	
a|b				匹配a或b				love|hate
()				组字符					loveable|rs    love(able|rs)	ov+  ov+ (ov)+
(..)(..)\1\2	                标签匹配字符		(love)able\1er
x{m}			        字符x重复m次		o{5}		
x{m,}			        字符x重复至少m次	o{5,}
x{m,n}		                字符x重复m到n次		o{5,10}

正则匹配示例:vim

/love/				//匹配love单词	
/^love/				//匹配以love开头
/love$/				//匹配以love结尾
/l.ve/				//匹配l后面出现任一单个字符
/lo*ve/				//匹配o出现0到多次
/[Ll]ove/			//匹配Love或love
/love[a-z]/			//匹配love后面出现a~z之间任一字符
/love[^a-zA-Z0-9]/              //匹配love后面跟不在英文字符和数字字符之间的一个字符

/.*/					
/^$/
/^[A-Z]..$/	
/^[A-Z][a-z ]*3[0-5]/	
/[a-z]*\./	
/^ *[A-Z][a-z][a-z]$/	
/^[A-Za-z]*[^,][A-Za-z]*$/	
/\<fourth\>/		
/\<f.*th\>/		
/5{2}2{3}\./

空行

/^$/
/^[ \t]*$/	

注释行

/^#/
/^[ \t]*#/
:1,$ s/\([Oo]ccur\)ence/\1rence/	
:1,$ s/\(square\) and \(fair\)/\2 and \1/
posted @ 2021-08-27 15:57  Cai_HL  阅读(27)  评论(0编辑  收藏  举报
>