gvim 混合 AND&OR 条件付き検索クエリ

gvim 混合 AND&OR 条件付き検索クエリ

こんにちは。次の基準を使用してgvim内でテキストを検索したいと思います a&b&(c|d)。私はそれを知っていますが、a&b両方を組み合わせると動作しません。正確な命令は何ですか?/.*a\&.*bc|d/c\|d

編集:試してみましたが.*a\&.*b\&.*(c\|d)、inc括弧を.*a\&.*b\&.*(c使用してORにd)接続しました。

edit2:式をa&b&c|に分けるのはうまくa&b&dいきます.*a\&.*b\&.*c\|.*a\&.*b\&.*dが、私が探しているものではありません。

ベストアンサー1

あなたが見つけたように、Vim検索モード\&はより緊密にバインドされると解釈され\| (つまり、  \&より優先順位がある\|)、これをオーバーライドする方法はないようです。しかし、財産を分配する説明する

(P∧(Q∨R))⇔((P∧Q)∨(P∧R))

そのうち「∧」はAND(つまり\&)を表し、「∨」はOR(つまり\|)を表します。デリゲート

  • P = a&b
  • Q = c
  • R=d

私たちは結論を下すことができます

a&b&(c|d) = (a&b&c) |

したがって、正規表現を使用して "a&b&(c|d)" を検索できます.*a\&.*b\&.*c\|.*a\&.*b\&.*d。もちろん、これは理想的ではありません。

メモ:解決策はOPによって決定されます。

おすすめ記事