我想将我的字符串分成每 3 个字符的一个段,这里是我的片段示例
let a = "abcdef"; //length 6
let b = `a
b
c
d
e
f`; // length 11 including line break
console.log(a.match(/.{1,3}/g));
console.log(b.match(/.{1,3}/g));Run Code Online (Sandbox Code Playgroud)
结果var a很好,但是当我在每个字符中添加换行符时var b是错误的,为什么它会拆分每个字符var b?我希望结果是这样的:
[
`a{line_break}b`,
`{line_break}c{line_break}`,
`d{line_break}e`,
`{line_break}f`
]
Run Code Online (Sandbox Code Playgroud)
.默认情况下不匹配换行符。为此,请使用s标志:
let b = `a
b
c
d
e
f`; // length 11 including line break
console.log(b.match(/.{1,3}/gs));Run Code Online (Sandbox Code Playgroud)
或 match [\s\S],如果您的环境不支持/s:
let b = `a
b
c
d
e
f`; // length 11 including line break
console.log(b.match(/[\s\S]{1,3}/g));Run Code Online (Sandbox Code Playgroud)