我想在 JavaScript 中使用多个分隔符拆分字符串,同时仍保留分隔符。 我尝试使用此 RegEx,但得到了我不感兴趣的匹配项。
"id:123 name:test pumpe desc:pumpe p123".split(/(?=(id:))|(?=(name:))|(?=(desc:))/gi)
我得到的输出:
[“id:123”, undefined, “name:”, undefined, “name:test pumpe”, undefined, undefined, “desc:”, “desc:pumpe p123”]
我想要的输出:
["id:123", "name:test pumpe", "desc:pumpe p123"]
我尝试使用正则表达式进行一些查询,但无法获得我想要的输出。
最佳答案
您实际想要分隔的分隔符是空格,具体来说,空格后跟 name:
、id:
或 desc:
.
按照这个逻辑,可以构造这个正则表达式:
/ (?=name:|id:|desc)/i
(注意首空格)
在这里试试:https://regex101.com/r/0RxEU9/1
console.log("id:123 name:test pumpe desc:pumpe p123".split(/ (?=name:|id:|desc)/i))
关于JavaScript 字符串用多个定界符拆分,同时保留定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55721914/