Regular Expressions
일치 재설정 : \ K
수색…
비고
Regex101은 \ K 기능을 다음과 같이 정의합니다.
\K
는보고 된 일치 항목의 시작점을 재설정합니다. 이전에 소비 된 문자는 더 이상 최종 경기에 포함되지 않습니다.
\K
이스케이프 시퀀스는 다음과 같은 여러 엔진, 언어 또는 도구에서 지원됩니다.
- 부스트 (??? 이후)
- grep -P ← PCRE 사용
- Oniguruma ( 5.13.3부터 )
- PCRE ( 7.2 이후 )
- Perl ( 5.10.0 이상 )
- PHP ( 5.2.4 이상 )
- Ruby (2.0.0 이상)
... 및 (지금까지) 지원되지 않음 :
\ K 연산자를 사용하여 검색 및 바꾸기
주어진 텍스트 :
foo : 바
"foo :"다음에 "baz"다음을 대체하고 싶지만 "foo :"를 유지하고 싶습니다. 이것은 다음과 같은 캡처 그룹으로 수행 할 수 있습니다.
s/(foo: ).*/$1baz/
어떤 텍스트 결과 :
foo : baz
또는 우리는 이전에 매치했던 모든 것을 "잊어 버린" \K
과 같은 패턴으로 사용할 수 있습니다 :
s/foo: \K.*/baz/
정규 표현식은 "foo :"와 일치하고 \K
를 만나면 이전에 일치하는 문자가 당연한 것으로 간주되어 .*
일치하는 문자열 만 "baz"로 바뀌어 정규식에 의해 남겨집니다.
foo : baz
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow