我很難嘗試將單引號或雙引號字符串與Vim的 正則表達式引擎進行匹配。在Vim中匹配單引號或雙引號字符串
問題是我將正則表達式分配給一個變量,然後用 與matchlist
一起玩。
例如,假設我知道我是一個包含引號的字符串行,我想匹配它:
let regex = '\v"(.*)"'
這樣做是可以匹配任何是雙引號。同樣,這將匹配單引號字符串:
let regex = "\v'(.*)'"
,但如果我嘗試使用他們兩個,如:
let regex = '\v['|"](.*)['|"]'
或
let regex = '\v[\'|\"](.*)[\'|\"]'
這時,Vim不知道如何處理它,因爲它認爲一些引號沒有在實際的變量定義中被關閉,並且弄亂了正則表達式。
用正則表達式捕獲單引號或雙引號字符串的最佳方法是什麼?
也許(可能!)我錯過了一些非常簡單的事情,可以使用兩個引號,而不用擔心實際正則表達式的周圍引號。
請注意,我更喜歡單引號正則表達式因爲這樣我不需要雙反斜槓轉義。
在單引號字符串中,兩個單引號('')表示一個單引號(')。 – Raimondi 2011-05-10 15:10:18