안녕하세요. 다음 기준을 사용하여 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에 의해 결정됩니다.