gpt4 book ai didi

regex - 使用正则表达式提取 `=` 对,点组 (.+?) 不与可选空格 (\s) 合作

转载 作者:行者123 更新时间:2023-12-01 10:51:22 25 4
gpt4 key购买 nike

我有这个字符串:

metadata=1.2 name=stone:supershare UUID=eff4e7bc:47aea5cf:0f0560f0:2de38475

我想从中提取键值对:<key>=<value> .

/(\w+)=(.+?)\s/g

正如预期的那样,这不会返回 UUID对,由于后面没有空格:

[
"metadata=1.2 ",
"name=stone:supershare "
],
[
"metadata",
"name"
],
[
"1.2",
"stone:supershare"
]

现在,显然,我们应该制作 \s查找可选:

/(\w+)=(.+?)\s?/g

不过,从 value 中只提取第一个符号就完全疯了。 :

[
"metadata=1",
"name=s",
"UUID=e"
],
[
"metadata",
"name",
"UUID"
],
[
"1",
"s",
"e"
]

我有点迷路了,我做错了什么?

最佳答案

@acfrancis 的解释是正确的,另一方面您可以尝试以下操作:

/(\w+)=([^\s]+)/g

这与 <key> 匹配使用 (\w+)与您的原始表达式一样,但随后它使用 ([^\s]+) 匹配值它使用一个或多个不是空格的字符。

Regex101 Demo

关于regex - 使用正则表达式提取 `<key>=<value>` 对,点组 (.+?) 不与可选空格 (\s) 合作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19587328/

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