Notepad ++ 在除最后一行之外的所有行上执行搜索替换
Notepad ++ Perform Search Replace On All Lines Except Last
在Notepad++中,我经常需要在多行上执行基于正则表达式的搜索和替换。但是,我想保留最后一行。
下面的简单示例:
示例文件
Line One
Line Two
Line Three
Line Three
正则表达式:
(.*)
替换为:
,
要求的结果如下:
Line One,
Line Two,
Line Three,
Line Three
您可以使用以下命令仅捕获行尾,然后用逗号 + 捕获的换行符替换:
查找内容:([\r\n]+)
替换为:,
如果你有一个 blank/empty 最后一行,并且你仍然不需要在最后一个 非 空行的末尾添加逗号,请使用查找内容中的此正则表达式:
([\r\n]+)(?!\s*$)
这会将第一组中的行文本和第二组中的新换行分组,因此您可以轻松地进行更多替换
查找:
(.*)(?=[\r\n])
替换为:
,
捕获行和结尾,在替换中插入一个逗号。
查找:(.*)(\r?\n)
回复:,
如果您想花哨一点,可以只在不以逗号结尾的行中添加逗号。
# (?m)^((?!.*,[^\S\r\n]*\r?\n).*)(\r?\n)
(?m) # Multi-line mode
^
( # (1 start), line data
(?! .* , [^\S\r\n]* \r? \n )
.*
) # (1 end)
( \r? \n ) # (2), line ending
在Notepad++中,我经常需要在多行上执行基于正则表达式的搜索和替换。但是,我想保留最后一行。
下面的简单示例:
示例文件
Line One
Line Two
Line Three
Line Three
正则表达式:
(.*)
替换为:
,
要求的结果如下:
Line One,
Line Two,
Line Three,
Line Three
您可以使用以下命令仅捕获行尾,然后用逗号 + 捕获的换行符替换:
查找内容:([\r\n]+)
替换为:,
如果你有一个 blank/empty 最后一行,并且你仍然不需要在最后一个 非 空行的末尾添加逗号,请使用查找内容中的此正则表达式:
([\r\n]+)(?!\s*$)
这会将第一组中的行文本和第二组中的新换行分组,因此您可以轻松地进行更多替换
查找:
(.*)(?=[\r\n])
替换为:
,
捕获行和结尾,在替换中插入一个逗号。
查找:(.*)(\r?\n)
回复:,
如果您想花哨一点,可以只在不以逗号结尾的行中添加逗号。
# (?m)^((?!.*,[^\S\r\n]*\r?\n).*)(\r?\n)
(?m) # Multi-line mode
^
( # (1 start), line data
(?! .* , [^\S\r\n]* \r? \n )
.*
) # (1 end)
( \r? \n ) # (2), line ending