Vimscript:如何在if语句中写正则表达式

时间:2014-02-27 20:29:24

标签: regex if-statement vim

我可以毫无问题地搜索正则表达式,例如
/["']
但在if语句中它失败了,例如

:let c = "w"
:if c !~ ["']
:echo "OK"
:endif

产生这些错误消息

   E114:缺少引语:“']
  E15:表达式无效:c!〜[“']

我用不同的方式尝试过它,带有反斜杠,单引号和双引号以及'非常神奇',但我得到的只是错误信息的变化。我该如何写这个'if'语句?

2 个答案:

答案 0 :(得分:1)

你应该使用正则表达式作为字符串,尝试

:if c!~"[\"']"

答案 1 :(得分:0)

我个人在使用Vim搜索[和反对]时遇到了一些问题。通常情况下,您可以独立搜索任何一个而没有任何问题,但是当您将两者结合在一起时,它们需要被转义。

所以,试试这个:\["'\]并查看是否有效。