使用方法
1.在VS代码编辑状态下,使用快捷键Ctrl+H,打开快速替换的对话框,
2.然后在搜索词和替换词中分别输入查找的正则和要替换的表达式。
3.在查找选项中勾选“大小写匹配”,“使用正则表达式”
查找的正则表达式:”\[([a-z_]+)(.*)\]”
替换的表达式:$1
使用说明
-
所谓动态替换就是保留动态内容,替换掉其它项,VS中用小括号去捕捉动态内容。
-
$0,其中$0表示正则匹配的整个最大字符串值。$1,表示在查找的表达式中查找到的第一个()指定的字符。$2,表示在查找的表达式中查找到的第二个()指定的字符。 以此类推
举个栗子
我在实际项目中的需求是sql转换,将sqlserver替换成mysql。其中语法差别之一就是sqlserver使用中括号[]标识关键字,而mysql是使用``来标识关键字。 项目中很多字段都是用中括号包住的,字段名称都是小写字母+下划线组成,例如: [user_name]。 所以我写的查找正则表达式是”\[[a-z_]+\]”,其中中括号是我要替换的内容,而字段名称(user_name)是我需要保留的动态内容。所以我们用小括号(.*)标识出动态内容:”\[([a-z_]+)(.*)\]”。然后我们在替换表达式中用 $1把动态内容保留下来,完成替换。
Changelog
- 2016-12-01 创建