这个文章我们来学一学在vscode中如何使用正则表达式。
正则表达式,顾名思义,是一个表达式。它表达的是 字符串匹配规则,也就是规定 什么样的字符串可以被匹配到 。比如\d
表示匹配 单个数字 的规则,\w
表示匹配单个字母、数字或者下划线等等。
如何启用正则表达式#
在vscode中,快捷键ctrl+F
可以快速打开使用正则表达式匹配字符串的窗口,此时会自动打开输入框旁第三个选项 使用正则表达式(Alt+R)
,当然你也可以使用快捷键ctrl+H
的方式打开查询窗口,再用快捷键Alt+R
来决定是否启用正则表达式。
启用之后,就可以在输入框中输入正则表达式来匹配字符串了。
基本的正则表达式规则:#
这一节我们先来讲讲基础的正则表达式编写方式,旨在初步介绍如何使用正则表达式来匹配字符串。
正则表达式主要由以下几部分组成:
- 基本字符 :字母(
abc
),数字和一些英文符号(@,_
)等等。例如正则表达式abc
将会直接匹配字符串abc
,包括abcdhfue
中的abc
(如果你没有启用了全字匹配Alt+W
)。 - 元字符:元字符是正则表达式中用来表达抽象匹配规则的字符。可以分为字符类、量词类、边界、分组等若干内容。
- 字符类:表示一类或若干类字符,常见的字符类
.
:匹配任意单个字符(换行符除外)。\d
:匹配任意数字(0-9
)(digital
)。\D
:匹配任意非数字。\w
:匹配任意单词字符(字母、数字或下划线)(word
)。\W
:匹配任意非单词字符。\s
:匹配空白字符(空格、制表符等)(space
)。\S
:匹配非空白字符。[abc]
:匹配a
、b
或c
中的任意一个。[^abc]
:匹配除a
、b
、c
以外的任意字符。[a-z]
:匹配从a
到z
范围内的字符。
- 量词:指定字符或模式的重复次数。如:
*
:匹配 0 次或多次。如a*
表示匹配任意长度的+
:匹配 1 次或多次。?
:匹配 0 次或 1 次。{n}
:匹配恰好 n 次。{n,}
:匹配至少 n 次。{n,m}
:匹配 n 到 m 次。
- 字符类:表示一类或若干类字符,常见的字符类
(3)边界#
用于匹配字符串的开头或结尾:
^
:匹配字符串开头。$
:匹配字符串结尾。\b
:匹配单词边界。\B
:匹配非单词边界。
(4)分组与捕获#
将部分正则表达式组合在一起,并捕获匹配结果:
()
:捕获分组。(?:...)
:非捕获分组。|
:表示逻辑“或”,如a|b
匹配a
或b
。
(5)转义字符#
用于匹配元字符本身或特殊字符:
\
:转义符,如\.
匹配字符.
。