我想知道如何使用正则表达式在Notepad ++中合并行,但以“>”字符开头的行除外
具体来说,对于:
我希望能够加入第2,3,4行; 6,7,8;和10,11,12;但是不是1,5或9.在notepad ++中,我已经能够选择我想要加入的行并使用扩展的查找/替换(查找:“\ r \ n”;替换:“”)来加入选择中的行。但是,我有超过11,626行我需要加入忽略带有“>”的行,所以手动执行此操作不是一个选项。
*注意:上图显示每个条目具有相同的行数,但情况并非总是如此。
编辑:请求了一些实际的代码,最初没有发布,因为“>”将文本格式化为代码块。在每个代码snipplet之前添加引用,以便“>”显示:
> Boechera_canadensus AACGACTCTCGGCAACGGATATCTCGGCTCTCGCATCGATGAAGAACGTAGCGAAATGCGATACTTGGTG TGAATTGCAGAATCCCGTGAACCATCGAGTCTTTGAACGCAAGTTGCGCCCCAAGCCTTTCGGCCGAGGG CACGTCTGCCTGGGTGTCAC
> Carex_pellita AATATGACTCTCGGCAACGGATATCTCGGCTCTCGCATCGATGAAGAACGTAGCGAAATGCGATACGTGG TGTGAATTGCAGAATCCCGTGAACCATCGAGTCTTTGAACGCAAGTTGCGCCCGAGGGACCCTCCCGAGG GCACGCCTGCCTCATGGGCGTTAGAA
> Carex_lacustris AATATGACTCTCGGCAACGGATATCTCGGCTCTCGCATCGATGAAGAACGTAGCGAAATGCGATACGTGG TGTGAATTGCAGAATCCCGTGAACCATCGAGTCTTTGAACGCAAGTTGCGCCCGAGGGACCCTCCCGAGG GCACGCCTGCCTCATGGGCGTTAGAA
答案 0 :(得分:1)
这应该适合你:
(^[^>].*?)\n(?!>)
然后替换为第一个捕获组$1
:
工作示例:http://regex101.com/r/yZ4nT0
说明:
>
开头的行,使用非贪婪匹配 - 每个字符.*?
\n
(新行)(?!>)
,我们确保我们只捕获不在另一个>
之前的行。答案 1 :(得分:0)
您可以使用:
find: (?<=[ACTG])\r?\n(?=[ACTG])
replace: nothing