수색…


비고

Regex101은 \ K 기능을 다음과 같이 정의합니다.

\K 는보고 된 일치 항목의 시작점을 재설정합니다. 이전에 소비 된 문자는 더 이상 최종 경기에 포함되지 않습니다.

\K 이스케이프 시퀀스는 다음과 같은 여러 엔진, 언어 또는 도구에서 지원됩니다.

... 및 (지금까지) 지원되지 않음 :

  • .그물
  • awk
  • 세게 때리다
  • 암소 비슷한 일종의 영양
  • 중환자 실
  • 자바
  • 자바 스크립트
  • 메모장 + +
  • 목표 -C
  • POSIX
  • 파이썬
  • Qt / QRegExp
  • sed
  • Tcl
  • 정력
  • XML
  • XPath

\ K 연산자를 사용하여 검색 및 바꾸기

주어진 텍스트 :

foo : 바

"foo :"다음에 "baz"다음을 대체하고 싶지만 "foo :"를 유지하고 싶습니다. 이것은 다음과 같은 캡처 그룹으로 수행 할 수 있습니다.

s/(foo: ).*/$1baz/

어떤 텍스트 결과 :

foo : baz

예제 1

또는 우리는 이전에 매치했던 모든 것을 "잊어 버린" \K 과 같은 패턴으로 사용할 수 있습니다 :

s/foo: \K.*/baz/

정규 표현식은 "foo :"와 일치하고 \K 를 만나면 이전에 일치하는 문자가 당연한 것으로 간주되어 .* 일치하는 문자열 만 "baz"로 바뀌어 정규식에 의해 남겨집니다.

foo : baz

예제 2



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow