如何为Vim创建一个正则表达式,以匹配一行中的多个双引号字符串,而不匹配两个双引号字符串之间的文本?模式的限制是双引号字符串不能包含单引号。到目前为止,我想出了
/"\([^']\{-}\)"/
来匹配以下字符串。但是如你所见,它会匹配第二行字符串之间的文本。我不能依赖于字符串周围的空格,就像你在第三行看到的那样。当然,它也需要与第四行一起工作。
- "cat"被称为"foo"
- "cat's"名字是"foo"
- x="cat's food"
- x = "cat"
"cat's" name is "foo"
,第二个"
(在's
后面)应该匹配还是不应该匹配?答案是否定的,我知道。因为有cat's
。但是" name is "
是可以的……我想你明白我的意思。 - Kent"
),还是包含在双引号中的字符串,只要该字符串不包含单引号'
?你最好编辑你的问题,解释得更清楚些。例如:行:xxx,你想要获取的是yyyy
,请使用代码块。 - Kent"
包裹的字符串是否可以有前导空格?例如" cat dog"
? - Kent