正则表达式匹配正在捕捉最后一个字符

时间:2017-10-03 19:14:09

标签: regex notepad++

我有以下文字内容

@@
ABCDEF ABCEDF sdfddg.
ABCDF ADVDDE

我试图用&&&&在Notepad ++中。当我使用下面的正则表达式。     \ r \ n [^ @@] 我的条件是,如果该行以@@开头,则不应触及。当我尝试这个,并替换更换的字符串时,所有行的第一个字母都被替换。目前显示为

@@&&&BCDEF ABCEDF sdfddg.&&&BCDF ADVDDE

但我希望它为

@@&&&ABCDEF ABCEDF sdfddg.&&&ABCDF ADVDDE

请让我知道我哪里出错了,我该如何解决这个问题,

由于

1 个答案:

答案 0 :(得分:2)

您的模式将换行符硬编码为CRLF,但可能只有LF或CR结尾。此外,[^@@]匹配除@以外的任何1个字符,并且等于[^@]

您可以使用

\R(?!@@)

并替换为&&&

<强>详情

  • \R - 匹配任何换行符(序列)......
  • (?!@@) - 未跟随@@子字符串。

enter image description here