2017-04-04 21 views
1

vimでは引用符で囲まれたすべての文字列を検索する必要があります。 'foo'Vimで引用符で囲まれた検索文字列

この正規表現の問題はありますか? E486:パターンが見つかりません\ '([^'] *)」

:\/'([^']*)' 

Regex Tester

+0

こんにちは(私のマナーに申し訳ありません) – AikenCura

+0

'/ '([^'] *) ''を使用してください。 – anubhava

+0

FYI:50以上の正規表現の方言があり、お互いにほとんど互換性がありません。 Vimはこれらの方言のうちの1つを使用しますが、正規表現テスターサイトはVimと互換性のない他の方言を使用します。私はVim regexesについて知っているようなサイトをまだ見ていません。 –

答えて

1

まず問題は、findの使用は少し混乱しているということです。 で検索する場合は、/を使用してください。コロンは必要ありません( コマンドモードを示します)。検索範囲を使用している場合( の場合は、/は範囲が空のコマンドに過ぎません)、コロン( )を使用できますが、どちらの方法でも最初のスラッシュをエスケープする必要はありません。

もう1つの主な問題は、キャプチャグループを意味する場合は、デフォルトで括弧をエスケープする必要があります( )。これはすべて 'magic'オプションに依存し、/magicトピックのヘルプを読むことをお勧めします( :h magic)。

/\v'([^']*)' 
1
:非常に魔法で

/'\([^']*\)' 

これはあなたのオリジナルデザインに を単純化することができる(\v原子を使用することによって)有効にします。「バニラ」Vimの設定では、あなたが必要 正規表現は、ルックスは、これが生きます

別の方法としては、この正規表現はyよりも同様の実行

\v'(\a+)'

を使用することができますネストされた引用符に遭遇した場合を除いて、私たちのものです。テキストでは:(sidyllによって訂正)元の正規表現\v'([^']*)''s first 'をキャプチャする一方

The user's first 'answer'.

正規表現\v'(\a+)'answerをキャプチャします。