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是个数字,将前面的元素匹配n次,如”be{3}“可以且只可以匹配 ”beee” | 
| {n, m} | 将前面的元素匹配至少n次,最多m次,如”be{1,3}” 可以且只可以匹配”be”,“bee”, “beee” | 
| | | 相当于”或”,表示匹配由|分割的任意一个元素,如the(e| is | at),可以匹配”the”, “this”, “that” | 
| $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”. | 
| ________________ | 
正则表达式除了匹配字符外,还可以对匹配的上下文做要求,比如要求匹配必须从一行的开头开始,感觉用的不是特别多,需要的请参照本文开头给出的链接。