代码编辑器和正则表达式
代码编辑器
下列方法基于 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
开启正则表达式匹配。
正则表达式
使用场景
- 支持正则的编辑器内进行查找/替换
- 各种编程语言内置正则相关库
基本匹配
^
: 匹配字符串的开头$
: 匹配字符串的结尾.
: 匹配任意字符\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}$