[java] 앞에 다른 것이 없으면 일치하는 정규 표현식

따라서 java의 정규 표현식을 사용하면 패턴 앞에 특정 문자가없는 경우에만 일치하는 정규 표현식을 작성하려고합니다. 예를 들면 다음과 같습니다.

String s = "foobar barbar beachbar crowbar bar ";

bar 앞에 foo가 없으면 일치하고 싶습니다. 따라서 출력은 다음과 같습니다.

barbar
beachbar
crowbar
bar

나는 이것이 매우 간단한 질문이라는 것을 알고 있습니다. 정규식을 배우려고하지만 그 동안 지금 일할 것이 필요합니다.



답변

다음 negative lookbehind과 같이 사용하고 싶습니다 :

\w*(?<!foo)bar

여기서 (?<!x)“이 시점 이전에”x “가없는 경우에만”을 의미합니다.

정규식 참조 -둘러보기 를 참조하십시오.

편집 : \w*이전에 문자를 캡처하기 위해를 추가했습니다 (예 : “해변”).


답변