Regex 일치에 따른 텍스트 찾기
당신은 Regex 영역에 뛰어들었고 특별한 요구 사항에 직면했습니다. 일치 자체를 포함하지 않고 특정 일치를 수행합니다. 이것이 어떻게 달성될 수 있는지 살펴보겠습니다.
제공된 코드에서 초기 패턴 "문장(.*)"은 "문장"과 정확하게 일치하지만 다음 텍스트도 캡처하여 "멋진 문장"이 생성됩니다. ." 후속 텍스트만 분리하기 위해 "긍정적 Lookbehind 어설션"이라는 기술을 사용합니다.
Positive Lookbehind Assertion
긍정적 Lookbehind 어설션(?<= 문장)은 일치 항목에 통합하지 않고 지정된 텍스트("문장") 바로 뒤의 문자열 위치와 일치합니다. 이 주장을 활용하여 새로운 패턴을 만들 수 있습니다.
(?<=sentence).*
Java 구현
이를 Java에서 구현하려면 다음과 같이 코드를 수정하세요.
import java.util.regex.*; public class RegexPostMatch { public static void main(String[] args) { String example = "Some lame sentence that is awesome"; Pattern pattern = Pattern.compile("(?<=sentence).*"); Matcher matcher = pattern.matcher(example); if (matcher.find()) { System.out.println("Text after 'sentence': " + matcher.group()); } else { System.out.println("No match found"); } } }
이 수정된 코드는 "멋져요"라는 원하는 결과를 출력합니다.
추가 참고 사항
Java에서 긍정적인 뒤돌아보기 어설션은 다음으로 제한됩니다. 유한 길이 하위 표현식. 이는 "(?<=sentences*)"와 같은 패턴이 작동하지 않음을 의미합니다. 대신 다음과 같은 대안을 사용해 보세요.
(?<=sentence\s+|\W+sentence)
위 내용은 일치하는 텍스트를 포함하지 않고 정규식 일치 다음에 텍스트를 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!