在Atom.io Regex Finf和Replace中的围绕声明



我必须在非常大的(> 440,000行)文本文件中找到一些模式,看起来像这样:

negative,10946,N: 10947,P: 59316,7.4346858,52.3209003
145930
24941,N: 54399,P: 24940,7.4308326,52.323004
145943
positive,57656,N: 57658,P: 57655,9.7569868,53.7176063
131516
57694,N: 57695
9.677158,53.6762726
131587

或用文字是一个整数编号,此后是一个新线,最后是另一个整数。

问题在于第2行和#3线之间的新线。#6和#7:我必须在此处添加第二个 n,然后添加文本"两者"。我设法编写了一条正则是发现此类新线的情况:

^.[0-9]{4,7}n[0-9]{4,7}

此正则发现了这种新线的所有情况。但是:我真的不知道应该用什么代替这些文本部分。我想让两个数字未触及,但在已经存在的 n之后插入 n和" acter"。

通常,我会使用类似的观察主张:

(?<=^.[0-9]{4,7})n(?=[0-9]{4,7})

但是:显然,atom.io不支持查看环境,至少在我习惯的语法中不支持。它只是说"无效的小组"。有提示吗?谢谢。

好吧,在研究了类似的如此问题之后,我发现Atom支持Perl式捕获捕获小组占位符,所以我所要做的就是这样延长我的正则是这样:

(^.[0-9]{4,7})(n)([0-9]{4,7})

…并将其用作替换字符串:

$1nnboth,$3

它仍然比观看曲折更为麻烦,但至少它有效。:)

最新更新