vscode里使用正则表达式

正则真的好用,平时工作用正则最多的地方就是在编辑器里做查找替换,之前系统学习了一段时间的正则但有些技巧长时间不用有些生疏了,现在重新捡起来顺便记录一下。

基本的替换操作

ctrl+h可以唤出替换界面,选定.*可以开启正则匹配模式,在上面那行输入正则表达式,下面那行输入替换字符串
在这里插入图片描述

括号匹配示例

示例将字符串顺序交换
字符串:example = test
正则表达式: (\w+)\s*=\s*(\w+)
替换表达式:$2 = $1
说明:用括号包含的子表达式会按照顺序被匹配为$n

非捕获型括号

如果只是想用括号分组但不用括号匹配可以用 (?:)来包含,示例如下:
字符串:test_aasdfasdfasdfaseifansefi
正则表达式:(?:test_(\w+))
这样$1会匹配的是 “test_” 后面的一串,而不会匹配整个字符串

环视
类型 正则表达式 匹配成功的条件
肯定逆序环视 (?<=…) 子表达式能够匹配左侧文本
否定逆序环视 (? 子表达式不能匹配左侧文本
肯定顺序环视 (?=…) 子表达式能够匹配右侧文本
否定顺序环视 (?!..) 子表达式不能匹配右侧文本

示例:
字符串:test_aaa
正则表达式: (?=test_(\w+))
替换表达式:$1
结果:aaatest_test
说明:环视匹配的是位置而不是字符串,环视不会占用字符,上面示例匹配到了字符串左侧的位置,而$1匹配到的是"aaa"

示例:
[17011] = [[{17011, “测试测试”, 14000
[17011] = [[{17011, “测试测试”, 17011

\[(\d+)\] = \[\[\{\1, "[^,]+", (?!\1) 匹配第一个
\[(\d+)\] = \[\[\{\1, "[^,]+", \1  匹配第二个
if then else条件判断

表达式:((if)then|else)
字符串:
num:1141244
world:example
正则表达式:(?<=num:)(\d+)|(example)
这里其实用的就是环视判断出位置,来模拟if条件。

你可能感兴趣的:(正则表达式)