1
我在vim腳本中遇到以下字符串比較。如何在vim腳本中滿足這種模式比較?
echo my_test_var =~ '\\\@<!`.*\\\@<!`'
我想弄清楚,應該是什麼的my_test_var
值,以便比較返回1
。
我在vim腳本中遇到以下字符串比較。如何在vim腳本中滿足這種模式比較?
echo my_test_var =~ '\\\@<!`.*\\\@<!`'
我想弄清楚,應該是什麼的my_test_var
值,以便比較返回1
。
在Vim中,01是一個否定後視結構,如果前面帶有後視圖案,則結果失敗。因此,整個表達式將匹配像
`some \`text\` here`
作爲
\\\@<!`
一個字符串 - 匹配不立即前面有一個反斜槓.*
一個反引號 - 比賽0+字符,多達可能的\\\@<!`
- 匹配沒有立即加上反斜槓的反引號
它匹配一個未經轉義的反引號,然後匹配儘可能多的0+字符,直到最後一個未轉義的反引號。像'\'這裏有一些\ \'文本\''''' –