Regex 正则表达式:删除“;新行“;命令并替换为整个下一行

Regex 正则表达式:删除“;新行“;命令并替换为整个下一行,regex,atom-editor,Regex,Atom Editor,我不熟悉这里,也不熟悉正则表达式。我有以下问题,我不明白为什么它不工作:例如,有4行,它们都以“新行”命令结束。像这样(或者请看图片了解更多细节): 我想做的是,删除第2行中的“新行”,或者换句话说:拉第3行并将其与第2行合并。(我希望有人能理解这一点)。最后看起来是这样的: 1 "1" "Sentence 1"\n 2 "2" "sentence 2 part 1: Sentence 2 part 2"\n 4 "3" "Sentence 3" ^(.*\s+.*)\s+([\s\S]+)

我不熟悉这里,也不熟悉正则表达式。我有以下问题,我不明白为什么它不工作:例如,有4行,它们都以“新行”命令结束。像这样(或者请看图片了解更多细节):

我想做的是,删除第2行中的“新行”,或者换句话说:拉第3行并将其与第2行合并。(我希望有人能理解这一点)。最后看起来是这样的:

1 "1" "Sentence 1"\n
2 "2" "sentence 2 part 1: Sentence 2 part 2"\n
4 "3" "Sentence 3"
^(.*\s+.*)\s+([\s\S]+)
             ^^^^^^^^^ 
我试过这个正则表达式,但没用。想法是找到一个新行命令,后跟一个“字符”。我使用atom编辑器中的替换功能,代码如下:

\n(?=[^"])
即使它被正确地标记,这意味着选择有效,也不可能删除/替换该行。它有什么问题?甚至在“atom”中也有可能吗

谢谢你的帮助


Atom查找/替换功能在某种程度上是棘手的。它应该遵循JS引擎,但在不完善的语法实现的不同方面缺乏功能。您可以使用如下正则表达式来解决此问题:

1 "1" "Sentence 1"\n
2 "2" "sentence 2 part 1: Sentence 2 part 2"\n
4 "3" "Sentence 3"
^(.*\s+.*)\s+([\s\S]+)
             ^^^^^^^^^ 
替换为:

$1$2

也许你可以在emacs中尝试这样做?看起来Atom不支持多行搜索和替换。嘿,revo谢谢你的回答。不幸的是,它不适用于Atom。也许我用错了(复制并粘贴了它)?它适用于最新版本。重新检查你的输入。看看中间是否有隐藏字符。@mark85