gpt4 book ai didi

javascript - 使用哪个 - 递归查询或特定正则表达式

转载 作者:行者123 更新时间:2023-12-02 16:54:29 24 4
gpt4 key购买 nike

我有一个 CSV 行,如下所示:

foo, bar, baz, "england, scotland, wales, ireland", sith

并且需要将其转换为

"foo", "bar", "baz", "england, scotland, wales, ireland", "sith"

我决定用“逗号”替换双引号之间的所有逗号,但是在双引号之间选择一个替换后,我在正则表达式中遇到了这样做的问题,因为在使用

replace(/(.+)(,)(.+)/g, "'comma'")

我取下一个子字符串

"england, scotland, wales'comma' ireland"

而不是

"england'comma' scotland'comma' wales'comma' ireland"

我不想使用具有更复杂结构的正则表达式,例如

/(.+)(,)(.+)(,)(.+)(,)(.+)/g

并且希望用逗号对单词进行分组,但无法为其选择正确的正则表达式,因此我使用递归子字符串搜索并在 for 循环中进行匹配。我做得对吗,或者有一个合适的正则表达式,但我还没有找到。谢谢。

最佳答案

您可以使用此模式:

var re = /"([^"]*)"|([^\s,][^,]*)/g;
var str = 'foo, bar, baz, "england, scotland, wales, ireland", sith';
var subst = '"$1$2"';

var result = str.replace(re, subst);

console.log(result);

关于javascript - 使用哪个 - 递归查询或特定正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287228/

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