假设我有一个字符串:“这是一个字符串”
。我想按空格和连字符分开,但将分隔符与前一个单词保持在一起 => ["This ", "is ", "a ", "string-", "thing"]
我目前正在使用以下正则表达式来执行此操作:
string.split(/(?<=[\s-])/g)
这完成了应该做的事情……至少在 Chrome 中是这样。据我了解,Safari 不支持 regExp 中的lookbehind,这会破坏代码。有没有什么办法可以做到这一点而不需要回溯?
最佳答案
您可以匹配单词而无需向后查找。
const
string = "This is a string-thing",
parts = string.match(/.+?([\s-]|$)/g);
console.log(parts);
关于javascript - RegExp/JavaScript : Split string on multiple characters, 保留分隔符而不使用lookbehind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68944115/