标签: regex
在项目中我想重命名一些私有变量名以包含带前缀的"_"。 例如:将"val"交换为"_val"
"_"
"val"
"_val"
但是" _val"已经存在。 因此我在搜索模式中使用了[^_]val。 这会找到例如"if (val ==",但会替换"("给我"if val =="
[^_]val
"if (val =="
"("
"if val =="
我如何将模式更改为: 查找所有出现的" val"没有前面的"_"但不替换第一个字符。
(希望我能正确解释问题 - 对不起,如果没有)
答案 0 :(得分:0)
/(?<!_)val/
如果您有权访问lookbehind。
修改强> 那就去吧:
/([^_])val/
当你刚才捕获角色并确定它不是下划线时,你可以用以下内容替换:
$1_val