VSCode查找和替换正则表达式转义字符整理
使用VSCode进行查找、替换时,经常需要用到正则表达式,一段时间不用就忘了,每次要用的时候都要耽误很多时间去查找,所以整理了一份很全的放在这里。这个其实是.NET使用的正则表达式,VSCode也是一样的,微软系的产品(比如Visual Studio等)应该都是使用这个标准的。
本文只列举和翻译了常用的一些,完整内容请参照微软官方文档
注意事项:在VSCode中使用时,要先把通配符开关打开(开关是查找输入框右边的".*"符号)
转义字符 | 匹配内容 |
---|---|
\t | tab |
\r | 回车符号\r |
\n | 换行符号\n |
\uxxxx | 匹配Unicode编码为xxx的字符,如\u0020匹配空格,这个符号可以用来帮助匹配中文,后面说 |
\ | 特殊符号转义,如"*" ,转义后匹配的是字符"*", “(” 匹配的是括号"(" |
[字符序列] | 匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配 |
[^字符序列] | 匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配 |
[字符1-字符2] | 匹配在[ ]之间的任意字符,如[a-x],就是匹配a和x之间的所有字符(包括a和x) |
. | 匹配任意单个字符(除了\n) |
\w | 匹配所有单词字符(如"a",“3”,“E”,但不匹配"?","."等) |
\W | 和\w相反,匹配所有非单词字符 |
[\u4e00-\u9fa5] | 利用区间和\u转义符号,匹配中文(该区间包含2万个汉字),可以当做中文版的\w使用 |
\s | 匹配空格 |
\S | 和\s相反,匹配非空格 |
\d | 匹配数字字符,如"1",“4”,"9"等 |
\D | 和\d相反,匹配除了数字字符外的其他字符 |
* | 将前面的元素匹配0到多次,如"\d*.\d",可以匹配"19.9",".0",“129.9” |
+ | 将前面的元素匹配1到多次,如"be+",可以匹配"be", “beeeeee” |
? | 将前面的元素匹配0次或者一次,如"rai?n" 可以且只可以匹配 “ran” 或者 “rain” |
n是个数字,将前面的元素匹配n次,如"be{3}“可以且只可以匹配 ”beee” | |
将前面的元素匹配至少n次,最多m次,如"be{1,3}" 可以且只可以匹配"be",“bee”, “beee” | |
| | 相当于"或",表示匹配由 |
$n | n是个数字,这个是替换时使用括号( )将匹配的patter分割成了几个元素,然后在替换的patter里面使用,类似于变量。如果查找patter是"(\w+)(\s)(\w+)",那么$1就是(\w+),$2是(\s),$3是(\w+),替换patter是$3$2$1,那么替换结果就是(\w+)(\s)(\w+)。假设匹配到的是"one two",那么$1,$2,$3分别为"one", " “, “two”,替换后的结果为"two one”. |
正则表达式除了匹配字符外,还可以对匹配的上下文做要求,比如要求匹配必须从一行的开头开始,感觉用的不是特别多,需要的请参照本文开头给出的链接。
我最擅长从零开始创造世界,所以从来不怕失败,它最多也就让我一无所有。