개발관련/other

Regex 두 문자열 사이의 모든 문자가 일치 하는지 확인하는 방법

Rateye 2021. 12. 19. 14:14
728x90
반응형
질문 : Regex 두 문자열 사이의 모든 문자 일치

예 : "이것은 단지 \ na 간단한 문장입니다".

"This is"와 "sentence"사이의 모든 문자를 일치시키고 싶습니다. 줄 바꿈은 무시해야합니다. 올바른 구문을 찾을 수 없습니다.

답변

예를 들면

(?<=This is)(.*)(?=sentence)

정규식

"This is"및 "sentence"가 일치에 포함되지 않도록 lookbehind (?<=) 및 앞쪽보기 (?=) This is(.*)sentence .

여기서 중요한 것은 정규식 엔진의 "dotall"모드를 활성화하여 . 개행과 일치합니다. 그러나이를 수행하는 방법은 정규식 엔진에 따라 다릅니다.

다음은 .* 또는 .*? . 첫 번째는 욕심이 많고 문자열의 마지막 "문장"까지 일치하고, 두 번째는 게으르고 문자열의 다음 "문장"까지 일치합니다.

최신 정보

정규식

This is(?s)(.*)sentence

(? s)는 dotall 수정자를 켜서 . 개행 문자와 일치합니다.

업데이트 2 :

(?<=is \()(.*?)(?=\s*\))

"이것은 (간단한) 문장입니다"라는 예와 일치합니다. Regexr 에서 여기를 참조하십시오.

출처 : https://stackoverflow.com/questions/6109882/regex-match-all-characters-between-two-strings
728x90
반응형