(自用)vscode正则表达式(正则表达式语法大全)vocode正则化(注意正则化和正则表达式不是一个概念)
文章目录
- 正则表达式语法大全
- 注意:用`ctrl + shift + h`,它会把你打开的所有文件都用正则表达式查找并替换,这挺危险的!所以替换的时候,最好不要打开其他的文件!
- 查找替换示例
- 替换时间xx:xx
- 替换空行
- 替换“P123”
- 示例1:特殊结尾字符串
- 在所有行开头加上“`# `”
- 删除结尾的“# ”
正则表达式语法大全
参考文章:正则表达式语法
注意:用ctrl + shift + h
,它会把你打开的所有文件都用正则表达式查找并替换,这挺危险的!所以替换的时候,最好不要打开其他的文件!
查找替换示例
替换时间xx:xx
\d\d:\d\d\n
\d\d:\d\d\n
这个正则表达式的含义如下:
\d\d:
:\d
是一个特殊字符,用于匹配任何数字(等同于[0-9]
)。这里的\d\d:
会匹配两个连续的数字后面跟着一个冒号。例如,它可以匹配 “12:”、“05:” 等。\d\d
:再次出现的\d\d
同样会匹配两个连续的数字。例如,它可以匹配 “:12”、“:05” 中的 “12”、“05”。\n
:这是一个特殊字符,表示新行。
因此,整个正则表达式 \d\d:\d\d\n
将匹配形如 “12:05” 这样的时间格式,然后紧跟一个新行符。也就是说,它会匹配一行中以特定时间格式(两位数字:两位数字)结束的内容。
也可以用\d\d:\d\d\s*
,这个正则表达式将匹配形如 “12:05” 这样的时间格式,然后紧跟零个或多个空白字符(包括换行符和空格)。
替换空行
^\s*\n
在VSCode中,你可以使用正则表达式搜索和替换功能来删除所有空行。下面是具体步骤:
-
使用快捷键Ctrl + H 打开“查找和替换”对话框。
-
在“查找”栏中,点击左侧的
.*
图标以启用正则表达式。 -
在"查找"框中输入正则表达式:
^\s*\n
。^\s*\n
这个正则表达式的含义如下:^
:这是一个特殊字符,表示行的开头。\s*
:\s
是一个特殊字符,用于匹配任何空白字符(包括空格、制表符、换页符等)。星号(*)表示前面的元素零次或多次。所以\s*
将匹配任何数量的空白字符。\n
:这是一个特殊字符,表示新行。
因此,整个正则表达式
^\s*\n
将匹配一行的开头到新行符之间只包含零个或多个空白字符的行。也就是说,它会匹配空行或者只包含空白字符的行。 -
保持"替换"框为空,然后点击全部替换(右侧带箭头的圆圈图标)。
以上步骤会删除所有的空行。
替换“P123”
P\d+.*\n
P\d+.*\n
这个正则表达式的含义如下:
P
:这是一个直接字符匹配,会匹配文本中的"P"字母。\d+
:\d
是一个特殊字符,用于匹配任何数字(等同于[0-9]
)。加号(+)表示前面的元素一次或多次。所以\d+
会匹配一串连续的数字。.*
:.
是一个特殊字符,用于匹配除了新行符(换行符\n
回车符\r
)之外的任何字符。星号(*)表示前面的元素零次或多次。所以.*
将匹配任何数量的任何字符(除了新行)。\n
:这是一个特殊字符,表示新行。
因此,整个正则表达式 P\d+.*\n
将匹配以 “P” 开始,后面跟着一串数字,并且在这些数字后面可以有任何字符,直到遇到新行符的文本行。也就是说,它会匹配以 “P” 开头、后面跟随数字并且以新行结束的整行文本。
示例1:特殊结尾字符串
\(.*\s*
\(.*\s*
这个正则表达式的含义如下:
\(
:(
是一个特殊字符,表示捕获组的开始。在这里,我们需要使用反斜杠\
来进行转义,因此\(
实际上是用来匹配文本中的 “(” 符号。.*
:.
是一个特殊字符,用于匹配除了新行符之外的任何字符。星号(*)表示前面的元素零次或多次。所以.*
将匹配任何数量的任何字符(除了新行)。\s*
:\s
是一个特殊字符,用于匹配任何空白字符(包括空格、制表符、换页符等)。星号(*)表示前面的元素零次或多次。所以\s*
将匹配任何数量的空白字符。
因此,整个正则表达式 \(.*\s*
将匹配以 “(” 开始,后面跟着任何字符和任何数量的空白字符的文本。注意这个表达式并不会匹配 “)” 符号,因为它在表达式中没有被包含。
在所有行开头加上“#
”
^
替换为:“#
”
删除结尾的“# ”
# $
$
表示结尾