정규식 정규표현식을 사용하여 특정 문자열 제외 라인 검색하는 방법

정규식을 사용하면 특정 문자열이 없는 라인만 일치시킬 수 있습니다. 이를 위해서는 「문자열」 부분을 검색하려는 키워드로 바꾸면 됩니다. 물론, 이 부분에도 정규식을 사용하여 더 복잡한 패턴을 걸 수 있습니다.

^((?!「문자열」).)*$

해당 정규식의 구성 요소는 다음과 같습니다.

  • ^ : 라인 시작
  • ?! : 부정형 전방탐색. x(?!y)는 x뒤에 y가 없는 경우만 일치시킵니다.
  • . : 개행 문자를 제외한 모든 단일 문자
  • * : 0개 이상 반복
  • $ : 라인 끝
  • () : 패턴

이 정규식을 해석하면, 라인 시작부터 끝까지 검색하며, 「문자열」이 없는 패턴이 포함된 문자열을 일치시킵니다.

단, vim 에서 사용 시에는 아래의 형식으로 해야합니다.

/^\v((「문자열」\/)@!).*$

이 방법을 사용하면, 특정 문자열이 포함되지 않은 라인만을 검색할 수 있습니다. 해당 포스트의 출처인 스택 오버플로우 링크에서도 이에 대한 예시와 설명이 있습니다.

https://stackoverflow.com/questions/406230/regular-expression-to-match-a-line-that-doesnt-contain-a-word

 

“정규식 정규표현식을 사용하여 특정 문자열 제외 라인 검색하는 방법”의 2개의 댓글

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top