我需要搜索并替换以cmc开头并以行上的逗号第一个出现结尾的字符串。我已经尝试了几次/"cmc.*,\{-}
和/\("cmc\).*\(,\=\)
的迭代,其间的一切都无济于事(并在过去一周内进行了广泛的搜索)。样本所需结果:
“CMC”:2, “色彩”:[ “黑色”],
而不是我现在得到的:
“CMC”:2 “颜色”:[ “黑色”],
我希望它与第一个逗号匹配,但它匹配到该行的最后一个逗号。提前谢谢。
答案 0 :(得分:3)
尝试/"cmc.\{-},
如果您使用*
,则会与可能发生的最长时间匹配;相反,\{-}
匹配最短的一个。
*
和\{-}
总是引用它前面的最后一个原子;一个原子可以是一个简单的字母,一个点.
字符,或一个用\(
和\)
括起来的复杂图案......
有关详细说明,请参阅:h pattern-overview
进行此类搜索的另一种常见方法是使用以下语法搜索"除了逗号之外的所有内容:[^,]
,因此您的问题的另一个答案是:{{1} }