0

在每一行的末尾添加一个分号 (;)。

这就是我所拥有的: ([^\n])$

问题是它取出最后一个字符而不是在末尾添加分号。

另外,我正在使用记事本++

4

2 回答 2

1

我在这里假设您的模式是故意的,因为您只想匹配非空行的行尾。(如果要匹配所有行,只需删除([^\n])

在该Replace with字段中,您需要写回匹配字符:

$1;

显然,你的匹配被替换了,所以如果你在行尾之前匹配一个字符,它将被替换。但是,如果您将它括在括号中(就像您所做的那样),它会被捕获并可以在替换字符串中引用。

或者,您可以使用lookbehind,它检查条件但不其内容包含在匹配中:

(?<=[^\n])$

这样,您可以简单地替换为;. 在你的情况下,它并没有真正的区别。在具有更复杂表达式的性能关键脚本中,捕获往往是一项昂贵的操作,因此环顾四周通常是有利的。

于 2013-05-06T00:10:34.830 回答
0

尝试这个:

find: \r\n
replace: ;\r\n

在 windows 文件中,常见的换行符是 CRLF (\r\n)

或者

find: (.)(\r\n|$)
replace: $1;$2

避免放;在空白行中并将其放在最后一行

于 2013-05-06T00:13:23.013 回答