Vim에서 일치하는 행을 검색하는 방법이 있습니까? abc
이지만 나중에 행에 xyz
이 포함되어 있지 않습니까?vim regex에서 negative lookahead를 수행하는 방법이 있습니까?
The abc is the best
The first three letters are abc
을하고 다음이 일치하지 않을 : 그래서 다음과 같은 라인이 일치합니다
/abc\(xyz\)\@!
만 abcxyz
일치하는 것을 피한다 있고 :
The abc is the best but xyz is cheaper
The first three letters are abc and the last are xyz
나는 다음과 같은 구문에 대해 알고 사이에 아무 것도없는 경우가 없습니다 (예 : abc-xyz
). 나중에 xyz
이 일치하지 않는 라인에 많은 위치가 있기 때문에 또한
/abc.*\(xyz\)\@!
를 사용하면 작동하지 않습니다.
은 (내가 grep abc <infile | grep -v xyz
같은 것을 할 것이다 명령 행에서 점에 유의해야하지만 빔에 대화 형으로 위의 작업을 수행하고 싶습니다.)
이 ABC '에 해당이 (?!. * XYZ)'펄 같은 엔진이다. – nhahtdh
Look-Ahead Simple은 패턴의 현재 위치에서 또 다른 본격적인 검색을 시작하고 그 결과를 사용하여 계속 진행할지 여부를 결정합니다 (미리보기가 양수인지 음수인지에 따라 다름). – nhahtdh
도': help perl-patterns'을 참조하십시오. 'pattern1'이 선행되지 않는'pattern2'의 경우, 그것은 음수의 look-behind입니다.'\ (pattern1 \) \ @ hochl