Skip to content
note
正则表达式
vscode

代码编辑器和正则表达式

代码编辑器

下列方法基于 Visual Studio Code 编辑器,以 macOS 的快捷键作为示例。

通常情况下,在 Windows 中的对应快捷键如下:

  • Command → Ctrl
  • Option → Alt

多行编辑

同步插入

按住 Option 用鼠标点击任意行可插入多个光标,此时输入内容,多个光标会同步插入。

多行同步插入

同步追加

选中多行文本,按下 Option + Shift + I,此时选中行行尾出现多个光标,输入内容,多个光标会同步追加。

多行同步追加

选中相同文本并同步替换/插入

选中文本,按下 Command + D 会自动选中下一个相同文本并插入一个光标,输入内容,多个光标会同步插入。

按下方向键可以取消选中,此时输入内容不会替换选中的文本。

选中相同文本并同步替换/插入

大小写转换

选中需要转换的单词,按下 Command + Shift + P 弹出输入框,输入 transform 查看对应命令。

如果全局语言为中文,也可以输入 转换 查看对应命令。

大小写转换

查找替换

方法一:简单查找/替换

  • Command + F :查找
  • Command + Option + F :查找并替换

方法二:正则表达式查找/替换

点击查找输入框右侧的第三个按钮或快捷键 Command + Option + R 开启正则表达式匹配。

开启正则匹配

正则表达式

正则表达式 30 分钟入门教程
正则表达式测试工具 regular expressions 101

使用场景

  • 支持正则的编辑器内进行查找/替换
  • 各种编程语言内置正则相关库

基本匹配

  • ^: 匹配字符串的开头
  • $: 匹配字符串的结尾
  • .: 匹配任意字符
  • \d: 匹配数字
  • \D: 匹配非数字
  • \s: 匹配空白字符
  • \S: 匹配非空白字符
  • \w: 匹配单词字符
  • \W: 匹配非单词字符
  • \n: 匹配换行符
  • \t: 匹配制表符
  • \r: 匹配回车符

字符多选

  • [...]: 匹配任意一个字符
  • [^...]: 匹配任意一个不在 [...] 中的字符
  • [a-z]: 匹配任意一个小写字母
  • [A-Z]: 匹配任意一个大写字母
  • [0-9]: 匹配任意一个数字
  • [a-zA-Z]: 匹配任意一个字母
  • [a-zA-Z0-9]: 匹配任意一个字母或数字
  • [a-zA-Z0-9_]: 匹配任意一个字母或数字或下划线
  • [a-zA-Z0-9_\s]: 匹配任意一个字母或数字或下划线或空格
  • [a-zA-Z0-9_\s\u4e00-\u9fa5]: 匹配任意一个字母或数字或下划线或空格或中文
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]: 匹配任意一个字母或数字或下划线或空格或中文或点

重复选择

  • *  重复零次或更多次
  • +  重复一次或更多次
  • ?  重复零次或一次
  • {n}  重复 n 次
  • {n,}  重复 n 次或更多次
  • {n,m}  重复 n 到 m 次
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]+:匹配任意一个字母或数字或下划线或空格或中文或点至少一个
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]*:匹配任意一个字母或数字或下划线或空格或中文或点至少 0 个
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]?:匹配任意一个字母或数字或下划线或空格或中文或点至少 1 个
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]{2}:匹配任意一个字母或数字或下划线或空格或中文或点至少 2 个
  • [a-zA-Z0-9_\s\u4e00-\u9fa5\.]{2,5}:匹配任意一个字母或数字或下划线或空格或中文或点至少 2 个至 5 个

其他

  • 转义
  • 分组
  • 引用
  • 断言
  • 贪婪与懒惰

正则示例

  • 匹配手机号:^1\d{10}$