Regex 从字符串匹配到vim中的第一个逗号
我需要搜索并替换一个字符串,该字符串以cmc开头,以行中第一个出现的逗号结尾。我尝试了几次Regex 从字符串匹配到vim中的第一个逗号,regex,search,vim,Regex,Search,Vim,我需要搜索并替换一个字符串,该字符串以cmc开头,以行中第一个出现的逗号结尾。我尝试了几次/“cmc.*、\{-}和/\(“cmc\).*(,\=\)的迭代,但都没有成功(在过去的一周里,我到处搜索)。所需结果示例: “cmc”:2,“颜色”:[“黑色”] 而不是我现在得到的: “cmc”:2,“颜色”:[“黑色”], 我希望它与第一个逗号匹配,但它与行中最后一个逗号匹配。提前谢谢。试试/“cmc.\{-}, 如果使用*,它将匹配可能出现的最长事件;相反,\{-}将匹配最短事件 *和\{-}总是
/“cmc.*、\{-}
和/\(“cmc\).*(,\=\)
的迭代,但都没有成功(在过去的一周里,我到处搜索)。所需结果示例:
“cmc”:2,“颜色”:[“黑色”]
而不是我现在得到的:
“cmc”:2,“颜色”:[“黑色”],
我希望它与第一个逗号匹配,但它与行中最后一个逗号匹配。提前谢谢。试试/“cmc.\{-},
如果使用*
,它将匹配可能出现的最长事件;相反,\{-}
将匹配最短事件
*
和\{-}
总是指它前面的最后一个原子;一个原子可以是一个简单的字母,或者一个点
字符,或者是一个用\(
和\)括起来的复杂图案
有关更多说明,请参见:h模式概述
进行此类搜索的另一种常见方法是使用以下语法搜索“除逗号外的所有内容:[^,]
”,因此您的问题的另一个答案是:/“cmc[^,]*,
尝试/“cmc.\{-},
如果使用*
,它将匹配可能出现的最长事件;相反,\{-}
将匹配最短事件
*
和\{-}
总是指它前面的最后一个原子;一个原子可以是一个简单的字母,或者一个点
字符,或者是一个用\(
和\)括起来的复杂图案
有关更多说明,请参见:h模式概述
进行此类搜索的另一种常见方法是使用以下语法搜索“除逗号外的所有内容:[^,]
”,因此您的问题的另一个答案是:/“cmc[^,]*,
啊,是的。我从未意识到\{-}
是一个扩展,可以用来代替*
。天才。非常感谢。啊,是的。我从未意识到\{-}
是一个扩展,可以用来代替*
。天才。非常感谢。