我想将字符串每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));
来自var a
的结果很好,但是当我在var b
之类的每个字符中添加换行符是错误的时,为什么要在var b
上拆分每个字符?我希望结果是这样的:
[
`a{line_break}b`,
`{line_break}c{line_break}`,
`d{line_break}e`,
`{line_break}f`
]
答案 0 :(得分:5)
.
默认不与换行符匹配。为此,请使用s
标志:
let b = `a
b
c
d
e
f`; // length 11 including line break
console.log(b.match(/.{1,3}/gs));
如果您的环境不支持[\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));