2017-05-07 8 views
1

私はvimスクリプトで次の文字列の比較に出くわしました。vimスクリプトでこのパターン比較を満たすにはどうすればよいですか?

echo my_test_var =~ '\\\@<!`.*\\\@<!`' 

私は比較は1を返すようmy_test_varの値がどうあるべきか、把握しようとしています。

+1

これは、エスケープされていないバックティックと一致し、最後にエスケープされていないバックティックまで可能な限り0以上の任意の文字に一致します。 '\' some \\ 'text \\' here \ ''のようなもの –

答えて

1

Vimにおいて、\@<!は、逆ビヘイビアパターンが前に付いていれば、一致しないネガティブなビヘイビアの構造体であるです。このように、式全体が

  • \\\@<!`として

    `some \`text\` here` 
    

    のような文字列にマッチします - 試合0+文字、できるだけ多く - すぐにバックスラッシュ

  • .*に先行されていないバッククオートにマッチ可能
  • \\\@<!` - 直前にバックスラッシュがないバックスティックに一致する
関連する問題