JavaScript字符串使用多个分隔符拆分,同时保留分隔符
我想在JavaScript中使用多个分隔符分割字符串,同时保留分隔符。 我用这个正则表达式试过了,但是我得到了我不感兴趣的匹配JavaScript字符串使用多个分隔符拆分,同时保留分隔符,javascript,regex,split,Javascript,Regex,Split,我想在JavaScript中使用多个分隔符分割字符串,同时保留分隔符。 我用这个正则表达式试过了,但是我得到了我不感兴趣的匹配 “id:123 name:test pumpe desc:pumpe p123”。拆分(/(?=(id:))|(?=(name:))|(?=(desc:)))/gi) 我得到的输出: [“id:123”,未定义,“name:”,未定义,“name:test pumpe”,未定义,未定义,“desc:”,“desc:pumpe p123”] 我想要的输出: [“id:12
“id:123 name:test pumpe desc:pumpe p123”。拆分(/(?=(id:))|(?=(name:))|(?=(desc:)))/gi)
我得到的输出:
[“id:123”,未定义,“name:”,未定义,“name:test pumpe”,未定义,未定义,“desc:”,“desc:pumpe p123”]
我想要的输出:
[“id:123”、“name:test pumpe”、“desc:pumpe p123”]
我尝试用正则表达式进行一点明文处理,但无法获得所需的输出。实际要分割的分隔符是空格,具体来说,是后跟
名称:
、id:
或描述:
的空格
按照此逻辑,可以构造此正则表达式:
/ (?=name:|id:|desc)/i
(注意初始空格)
请在此处尝试:
console.log(“id:123 name:test pumpe desc:pumpe p123.split(/(?=name:| id:| desc)/i))
实际要拆分的分隔符是空格,具体来说,是后跟name:
、id:
或desc:
的空格
按照此逻辑,可以构造此正则表达式:
/ (?=name:|id:|desc)/i
(注意初始空格)
请在此处尝试:
console.log(“id:123 name:test pumpe desc:pumpe p123.split(/(?=name:| id:| desc)/i))
您正在查找任何遵循模式的内容[name:|[desc:|[id:][id:
,因此简化您的正则表达式:
console.log(“id:123 name:test pumpe desc:pumpe p123”。拆分(/(?=name:| id:| desc:)/i))代码>您正在寻找符合模式的任何内容,因此请简化您的正则表达式:
console.log(“id:123 name:test pumpe desc:pumpe p123”。拆分(/(?=name:| id:| desc:)/i))代码>您可以查找空格,后面不是空格和冒号
console.log(“id:123 name:test pumpe desc:pumpe p123”)。拆分(/\s(?=\s+?:)/)代码>您可以查找空格,后面不是空格和冒号
console.log(“id:123 name:test pumpe desc:pumpe p123”)。拆分(/\s(?=\s+?:)/)
如果密钥名未知,您可以在每个\s
处执行拆分,后面跟着\w+:
()
const splits=“id:123 name:test pumpe desc:pumpe p123”。拆分(/\s+(?=\w+:)/)
console.log(拆分)
如果键名未知,您可以在每个\s
处执行拆分,后面跟着\w+:
()
const splits=“id:123 name:test pumpe desc:pumpe p123”。拆分(/\s+(?=\w+:)/)
console.log(splits)
.split(/\s+(?=(?:id | name | desc):)/i)
?.split(/\s+(?=(?:id | name | desc):)/i)
?在中使用split code>.split时,不需要g
修饰符,split()
在字符串中的所有出现处都拆分。在中使用时,不需要修饰符,split()。