问题描述
我真的需要您的帮助! 这是我目前的情况:
如果一行包含“ Menu :: choose”
Menu::choose("Invisible",invis);
Menu::choose("Never Wanted",neverw);
我需要Notepad ++将结尾“);”替换为“,true);” 所以看起来像这样:
Menu::choose("Godmode",godmode,true);
Menu::choose("No Ragdoll",rag,true);
有办法吗?
解决方法
在“替换”对话框中,您需要输入以下内容:
-
在“查找内容:”框中,您可以输入:
Menu::choose\((.*)\);
-
在“替换为:”框中,您可以输入:
Menu::choose\(\1,true\);
-
然后在底部选中“正则表达式”位
然后,当您单击“全部替换”时,它将匹配与“查找内容:”正则表达式匹配的行,并将其替换为“替换为:”(包括额外的“ true”参数)。
在正则表达式中:
-
字符
(
和)
很特殊,因此需要在带有\(
和\)
的正则表达式中转义 -
(
和)
表示一个捕获组,该捕获组会将内部的任何匹配项分配给\1
-
.*
匹配任意数量的字符。
因此Menu::choose\((.*)\);
将匹配:
-
Menu::choose(
- 任意数量的字符(已分配给
\1
) -
);
然后Menu::choose\(\1,true\);
替换为:
-
Menu::choose(
- 所有分配给
\1
的字符 -
,true);
- Ctrl + H
- 查找内容:
Menu::choose\([^)]+\K
- 替换为:
,true
- 检查 匹配案例
- 检查 环绕
- 检查 正则表达式
- 全部替换
说明:
Menu::choose # literally
\( # open parenthese,have to be escaped as it has special meaning in regex
[^)]+ # negative character class,1 or more NON close parenthesis
\K # forget all we have seen until this position
屏幕截图(之前):
屏幕截图(之后):