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에 의해 결정됩니다.

관련 정보