我有使用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
实现?
答案 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)