我可以毫無問題地搜索正則表達式,例如
/["']
但是在if語句中它失敗了,例如,Vimscript:如何在if語句中編寫正則表達式
:let c = "w"
:if c !~ ["']
:echo "OK"
:endif
產生這些錯誤消息
E114:缺少引號: 「']
E15:無效的表達:C〜[」']
我已經試過了無數不同的方式,反斜槓,單引號和雙引號,以及「非常神奇」,但我得到的只是錯誤信息的變化。我應該如何寫這個'如果'的聲明?
我可以毫無問題地搜索正則表達式,例如
/["']
但是在if語句中它失敗了,例如,Vimscript:如何在if語句中編寫正則表達式
:let c = "w"
:if c !~ ["']
:echo "OK"
:endif
產生這些錯誤消息
E114:缺少引號: 「']
E15:無效的表達:C〜[」']
我已經試過了無數不同的方式,反斜槓,單引號和雙引號,以及「非常神奇」,但我得到的只是錯誤信息的變化。我應該如何寫這個'如果'的聲明?
我個人在使用Vim搜索[
和反對]
時遇到了一些問題。通常情況下,您可以單獨搜索而不會出現任何問題,但是當您將兩者結合在一起時,它們需要被轉義。
因此,試試這個:\["'\]
,看看是否有效。
產生E15:無效表達式:\\ [''\\] E15:表達式無效:c!〜\\ [''\\] – user985675
所以我猜只是逃避引號''[\「\']''沒有工作? – Moritz
如果Perlish的,你需要分隔符'如果c!〜/ ['''] /' – sln
在Perl中'!〜'是一個正則表達式運算符(也就是'=〜') – sln