DAC*_*sby 4 notepad++ regex find-and-replace
我正在尝试注释掉我拥有的脚本中的所有变量类型声明,但我还遇到过几次这个问题。我想匹配一个字符串,后跟一个变量名,后跟一个字符串并替换确切的文本,但在第二个字符串前加上一个单引号。
例如:
Dim variableName As Boolean
Dim variableName2 As String
Run Code Online (Sandbox Code Playgroud)
应该变成:
Dim variableName 'As Boolean
Dim variableName2 'As String
Run Code Online (Sandbox Code Playgroud)
现在,问题是我在代码中的其他地方也有不应替换的“As”字符串,因此简单的查找/替换不起作用。
我正在使用 NotePad++ 并具有以下与我的声明正确匹配的正则表达式:
Dim.*As
Run Code Online (Sandbox Code Playgroud)
但我不知道用什么来.*代替替换字段中的 。Dim.*'As显然用文字替换通配符字符串.*,这是不好的。
有任何想法吗?
您可以使用正则表达式“捕获组”来指定要捕获和保留的部分,并替换其余部分。
在记事本++捕获基团由括号表示((和)),并且可以把它们的内容变成“替换为”通过使用符号如\1,\2等,为所添加的每个捕获组(按出现的顺序)。
因此,将您的搜索 RegEx 更改为(Dim.*)(As),它会像最初为您做的那样查找内容,但会生成两个捕获组。一个在您要插入的位置之前',一个在之后。
到这会Dim variableName As Boolean像以前一样找到,并且两个捕获组将包含Dim variableName和As Boolean。
对于 Notepad++ 中的替换字段,请使用\1'\2; 这将用第一个捕获组替换匹配的文本,然后是',然后是第二个捕获组。
执行您的替换,并Dim variableName As Boolean成为Dim variableName 'As Boolean(等)。
| 归档时间: |
|
| 查看次数: |
17794 次 |
| 最近记录: |