2
我想匹配一個字符串與替代品列表。當我做Vim正則表達式搜索替代選擇
echo "vimNotFunc" =~ "\vnot"
我得到1
,如預期。但是,如果我同一個正則表達式,但增加了一個選擇,我得到0
:
echo "vimNotFunc" =~ "\vnot|string"
從幫助文件,我不應該逃避|
。如果匹配返回1
(true
)?
我想匹配一個字符串與替代品列表。當我做Vim正則表達式搜索替代選擇
echo "vimNotFunc" =~ "\vnot"
我得到1
,如預期。但是,如果我同一個正則表達式,但增加了一個選擇,我得到0
:
echo "vimNotFunc" =~ "\vnot|string"
從幫助文件,我不應該逃避|
。如果匹配返回1
(true
)?
您正在使用雙引號之間的字符串,因此必須用雙反斜線,如:
:echo "vimNotFunc" =~ "\\vnot|string"
它更容易使用單引號,並且避免此問題,如:
:echo "vimNotFunc" =~ '\vnot|string'
然而,我不知道你的第一個正則表達式是如何工作的。它不起作用在我的vim
。這對我來說不是預期的結果。
謝謝!如果沒有'\ v',第一個應該是''不是'''。 –
它是否匹配取決於「ignorecase」選項的值。請參閱':help'ic''和':help =〜'。 (假設@Birei說,你使用雙反斜槓或單引號。) – benjifisher