Was sind die Unterschiede zwischen den regulären Ausdrücken, die zum Ersetzen von Inhalten in vim verwendet werden, und denen in anderen Programmiersprachen?
Ich weiß nur, dass 1
等价于js中的 verwendet wird, um die erste passende Gruppe in vim zu erhalten.
元字符 含义说明
. 匹配任意字符
\[abc\] 匹配放括号中的任意字符,也可以表示范围,例如[a-z0-9]
\[^abc\] 匹配除方括号中字符的任意其他字符
\d 匹配阿拉伯数字,等同于[0-9]
\D 匹配除阿拉伯数字之外的其他字符,等同于[^0-9]
\x 匹配十六进制数字,等同于[0-9A-Fa-f]
\X 匹配十六进制之外的任意字符,等同于[^0-9A-Fa-f]
\w 匹配单词字母,等同于[0-9A-Za-z_]
\W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]
\t 匹配<Tab\>字符
\s 匹配空白字符,等同于[ \t]
\S 匹配非空白字符,等同于[^ \t]
\* 匹配0-任意个
\+ 匹配1-任意个
\? 匹配0-1个
\{n,m\} 匹配n-m个
\{n,\} 匹配n-任意个
\{,m\} 匹配0-m个
& 匹配行尾
^ 匹配行首
\< 匹配单词词首
:help pattern-overview
或者看中文版文档 https://github.com/vimcn/vimcdoc/blob/master/doc/pattern.txt