我想要进行转换
{
foo:"bar",
hello:"world",
}
into
{
"foo":"bar",
"hello":"world",
}
我可以作为翻译员来帮忙翻译,以下是您需要翻译的内容:
我考虑使用一个这样的替代命令
s/(.*):/"<the_thing_captured_on_the_left>"/g
但是我如何访问:
之前的内容并将其包装在引号中?
我想要进行转换
{
foo:"bar",
hello:"world",
}
into
{
"foo":"bar",
"hello":"world",
}
我考虑使用一个这样的替代命令
s/(.*):/"<the_thing_captured_on_the_left>"/g
但是我如何访问:
之前的内容并将其包装在引号中?
请使用这个
:%s/\w\+:\@=/"&"/
\@=
应用于它之前的标记(在这种情况下为 :
),表示“如果 :
匹配,则与其前面的零宽度匹配(:help /zero-width
)。”
考虑到您展示的背景知识,其余部分应该很清楚。
同样,您也可以这样做:
:%s/\w\+\ze:/"&"/
\ze
意思是“匹配它后面的东西,但不要消耗它”。
\%(\)
来获得相同的结果。 - romainl\@=
,而且我没有意识到可以去掉分组。感谢你指出这一点。 - Enlico