
A
두 문자 사이의 모든 콘텐츠를 찾고 싶습니다 B
.
Asd;lfksjd;fsdfjs;ldfkB
어느 것이 될 것인가?sd;lfksjd;fsdfjs;ldfk
그리고 교체하세요. 이 표현은 어떻게 써야 할까요?
답변1
다음 RegEx를 사용하여 A와 B 사이의 모든 문자를 일치시킬 수 있습니다.
(?<=A).*(?=B)
일치하는 문자의 일부로 A 또는 B를 반환하지 않습니다.
(?<=A)
A가 기본 표현식 앞에 오고 일치하는 경우 기본 결과에 포함되지 않는다는 의미입니다..*
0번 이상 나타나는 모든 문자와 일치한다는 의미입니다. A와 B 사이에 최소한 하나의 문자가 있도록 하려면 대신 .+를 사용할 수 있습니다.(?=B)
B가 기본 표현식 뒤에 오고 일치하는 경우 기본 결과에 포함되지 않는다는 의미입니다.
편집하다:
Notepad++는 미리보기/뒤돌아보기를 지원하지 않으므로 교체할 수 있습니다.
(A).*(B)
~와 함께
\1\2
대신에.
이것은 탐욕적이므로 "AxB y AzB"가 있으면 "AB"를 얻게 됩니다. "AB y AB"를 얻으려면 다음을 사용하십시오.
(A).*?(B)
대신에.
*욕심없는 편집, .?*
부정확함
답변2
저는 정규식을 처음 접했으므로 이것이 도움이 되기를 바랍니다.
제 생각에는A.*B검색할 정규 표현식이 됩니다. 즉, 사이에 0개 이상의 항목이 있는 A와 B를 검색합니다.
이 정규식에는 일치 항목에 A와 B가 포함되어 있으므로 교체를 통해 다시 추가해야 합니다.
아레플레이스B대체할 텍스트가 됩니다.