我需要补充; 在每一个不是结束行的末尾:,{,}或).
我在Notepad ++中使用它:
[^:\{\}\)]$\1;它可以找到字符串,但它会替换在行尾之前找到的最后一个字符,;而不是将其添加到字符串中.我试过$1而不是\1 但它没有改变任何东西 - 找到的文本仍然被删除.
您的模式没有捕获组,因此\1是一个空字符串。使用$0代替来指代整场比赛:
查找内容:[^:{})]$
替换为:$0;
但是,在某些边缘情况下它可能会失败(该模式与、和之外[^:{})]$的任何字符匹配,因此在行结束之前需要至少 1 个字符),也许,您最好在这里使用负向后查找::{})
查找内容:$(?<![:{})])
替换为:;
该模式与$(?<![:{})])行尾匹配(带有$),然后(?<![:{})])负向后查找可确保当前位置左侧不存在:、{或。})