3

是否可以用正则表达式搜索/替换替换 UE 或 NPP 中的每 4 行换行符?

之前的文件:

    #12
    ab
    cde
    ef
    #34
    ghij
    ijk
    kl
    #5678
    uv
    w
    xyz
...

应该在更换后

#12 ^t ab ^t cde ^t ef
#34 ^t ghij  ^t ijk ^t kl
#5678 ^t uv ^t w  ^t xyz
4

2 回答 2

5

这是完成这项工作的一种方法:

查找内容:(.+)\R(.+)\R(.+)\R(.+\R)?
替换为:$1\t$2\t$3\t$4

选中Regular Expression
不选中dot matches newline
并单击Replace All

解释:

(.+)\R   : Capture in group 1 everything until a line break (excluded)
(.+)\R   : Capture in group 2 everything until a line break (excluded)
(.+)\R   : Capture in group 3 everything until a line break (excluded)
(.+\R)?  : Capture in group 4 everything until a line break (included), optional

\R代表任何类型的换行符(即。\r\n\r\n

于 2014-09-02T11:39:46.927 回答
2

[\n\r](?!#)将做并替换为\t

如果在使用 windows 编码时没有后跟 # by tab,它将替换 crlf。 (?!#)是一个否定的前瞻,它排除任何 \n 或 \r 后跟 # (在下一行)

请注意,它会在制表符之前留下一个空格,如果您真的希望每个字段之间只有制表符,您可能必须将编码更改为只有 \n 或 \r(linux 或 mac)。

于 2014-09-02T11:34:32.060 回答