我在vim脚本中遇到了以下字符串比较。
echo my_test_var =~ '\\\@<!`.*\\\@<!`'
我想知道my_test_var
应该是什么值,以便比较返回1
。
答案 0 :(得分:1)
在Vim中,`some \`text\` here`
是一个负向后视结构,如果前面带有lookbehind模式,则会失败。因此,整个表达式将匹配像
\\\@<!`
作为
.*
- 匹配不会立即加上反斜杠的反引号\\\@<!`
- 尽可能多地匹配0+个字符Horizontal
- 匹配不会立即加上反斜杠的反引号