使用正则表达式仅向一个键值对添加双引号

我有这个字符串


    coordinateid: [20,54.1],

    colorid: [250,0,0],

    sizeid: [2000],

    tooltipid: [B],

如何获得此结果,仅在 tooltipid 的值中添加引号,其他所有内容保持原样,我在 javascript 中使用正则表达式


    coordinateid: [20,54.1],

    colorid: [250,0,0],

    sizeid: [2000],

    tooltipid: ['B'],


莫回无
浏览 107回答 2
2回答

德玛西亚99

您应该匹配tooltipid以防止将引号添加到其他对。这个正则表达式会做到这一点:/tooltipid: \[(.*)\]/gm. 你的替换字符串应该是tooltipid: ['$1'].在 JS 中,代码将是:"the text".replace(/tooltipid: \[(.*)\]/gm, "tooltipid: ['$1']")这是正则表达式演示:https ://regex101.com/r/itwoYw/1 。

慕神8447489

如果您只是想替换方括号内的任何字母值,请替换\[([a-zA-Z]+)\]为['$1'],其中 $1 是您的第一个捕获组。或者,您可以使用环视并替换(?<=\[)([a-zA-Z]+)(?=])为'$1'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript