如何用模式拆分字符串而不丢失任何文本?

时间:2017-10-18 10:29:28

标签: javascript regex string

我有使用pattern分割字符串的问题。我知道我可以使用String.prototype.split分割字符串。但是,如果我使用它,我会失去分隔符。

例如

const text = '{user} foo bar {time} test test';
const arr = text.split(/\{[a-z]*\}/)
// arr = ["", " foo bar ", " test test"]

我期望的是["{user}", " foo bar ", "{time}", " test test"]

是否可以使用split实现?

1 个答案:

答案 0 :(得分:2)

尝试以下匹配:



const text = '{user} foo bar {time} test test';
const arr = text.match(/\{.*?\}|\b[\w\s]+\b/g);
// arr = ["", " foo bar ", " test test"]

console.log(arr)