tuo*_*alo 1 javascript regex newline
如何将javascript字符串拆分为foo\nbar\baz一系列行,同时保留换行符?我想得到['foo\n', 'bar\n', 'baz']输出;
我知道有很多可能的答案 - 我只是想要找一个时髦的答案.
使用perl我会使用零宽度lookbehind断言:split /(?<=\n)/但是javascript正则表达式不支持它们.
PS.处理不同行结尾(至少\r\n)和处理丢失的最后一行(如我的例子中)的额外点.
您可以使用此模式执行全局匹配: /[^\n]+(?:\r?\n|$)/g
它匹配任何非换行符然后匹配可选\r后跟\n或字符串结尾.
var input = "foo\r\n\nbar\nbaz";
var result = input.match(/[^\n]+(?:\r?\n|$)/g);
Run Code Online (Sandbox Code Playgroud)
结果: ["foo\r\n", "bar\n", "baz"]