"xyz" "b" => "pqr st-6ren">
gpt4 book ai didi

javascript - 正则表达式:提取 "Key: Value"(无分隔符)

转载 作者:行者123 更新时间:2023-11-29 09:55:12 24 4
gpt4 key购买 nike

你能只用一个正则表达式提取这些“key: value”对吗?

"a: xyz   b:  pqr st  c: lm no p"

我想要的结果:

"a" => "xyz"
"b" => "pqr st"
"c" => "lm no p"

我的尝试(使用 Two 正则表达式)

var s = 'a: xyz   b:  pqr st  c: lm no p';
var r = /(?:.(?!(?:a|b|c):))+/g;
var m;

while ((m = r.exec(s))) {

var s2 = m[0];
var r2 = /(a|b|c):\s*(.+)/;
var m2 = r2.exec(s2);

console.log('"' + m2[1] + '" => "' + m2[2] + '"');
}

我得到的结果:

"a" => "xyz  "
"b" => "pqr st "
"c" => "lm no p"

那么,这可以仅使用一个正则表达式来完成吗?

最佳答案

<罢工>

<罢工>

使用正则表达式模式 /(\w+):\s*([^:]+)(?=\s|$)/g

参见 this demo .

<罢工>

要 trim 空白字符,请使用正则表达式模式

<罢工>

<罢工>
/(\w+):\s*([^:]*\S)\s*(?=\w+:|$)/g

参见 this demo .

<罢工>

 /\b(\w+):\s*([^:]*\S)\b\s*(?=\w+:|$)/g

参见 this demo .

关于javascript - 正则表达式:提取 "Key: Value"(无分隔符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com