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