gpt4 book ai didi

javascript - 零长度lookbehind正则表达式无法在atom中替换并且在javascript中无法识别

转载 作者:行者123 更新时间:2023-12-03 05:53:29 25 4
gpt4 key购买 nike

{
file: "http://video.jiuan.org/2016/Sep/F4D.mp4",
image: "http://www.jiuan.org/ffmpeg_image.php?file=2016/Sep/F4D.mp4&time=00:00:03&browser=true",
skin: "/jwplayer-6.6/six.xml",

logo: {
file: '/jwplayer-6.6/wptv.png',
link: 'http://www.worldpeacreever.tv/'
},
width: 1150,
height: 650
}

上面是一个字符串,我想在其中找到所有属性名称(如文件、图像等)并向它们添加双引号,以便我可以使用 JSON 处理它。

我用正则表达式匹配所有属性名称

(?<=\s)(\w*\b)(?=:)

为了测试我的正则表达式,我将此字符串放入 Atom

enter image description here

属性名称已匹配并突出显示,但当我尝试单击“全部替换”时,它们并未按预期删除。这是为什么?

此外,当我尝试在 javascript 中进行替换

STR.replace(/(?<=\s)(\w*\b)(?=:)/g,"\"$1\"")

javascript 返回一个错误,指出正则表达式无效。我认为也许 javascript 有不同的正则表达式语法,但我找不到任何有用的信息来解决这个问题。

最佳答案

  1. 这是“Atom”应用程序中的问题,在这种情况下替换无法正常工作。
  2. 正如@Wiktor Stribiżew 所说,JavaScript 不支持lookbehind

就像在 JavaScript 中那样使用:

搜索: '/(\s)(\w*\b)(?=:)/'

替换: '$1\"$2\"'

关于javascript - 零长度lookbehind正则表达式无法在atom中替换并且在javascript中无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40047082/

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