是否可以用正则表达式搜索/替换替换 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
这是完成这项工作的一种方法:
查找内容:(.+)\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
)
[\n\r](?!#)
将做并替换为\t
如果在使用 windows 编码时没有后跟 # by tab,它将替换 crlf。
(?!#)
是一个否定的前瞻,它排除任何 \n 或 \r 后跟 # (在下一行)
请注意,它会在制表符之前留下一个空格,如果您真的希望每个字段之间只有制表符,您可能必须将编码更改为只有 \n 或 \r(linux 或 mac)。