Java Regex 캡처 그룹 이해
이 코드 조각에서는 Java의 정규식(regex) 라이브러리를 사용하여 문자열의 일부를 추출합니다. 정규식은 "(.)(d )(.)"로 정의됩니다. 여기서:
정규식 실행
"이 주문은 QT3000에 대해 이루어졌습니다! OK?"라는 문자열에 대해 정규식을 실행하면 다음과 같은 결과가 생성됩니다.
Found value: This order was placed for QT3000! OK? Found value: This order was placed for QT Found value: 3000
그리디 수량자 이해
정규식에 사용되는 기본 수량자는 욕심입니다. 즉, 다음 그룹을 만족시키기 위해 가능한 한 많은 문자를 일치시킵니다. 이 경우 ".*"는 첫 번째 숫자가 발견될 때까지 전체 문자열과 일치하며 세 번째 그룹에는 문자가 남지 않습니다.
Reluctant Quantifier 사용
일치하려면 필요한 문자만 사용하려면 물음표로 표시되는 마지못해 한정자를 사용할 수 있습니다. "(.)"를 "(.?)"로 바꾸면 가능한 최소 문자 수와 일치하여 다음과 같이 출력됩니다.
Found value: This order was placed for QT3000! OK? Found value: This order was placed for QT Found value: 3000
그룹 캡처의 장점
그룹 캡처를 통해 추가 사용을 위해 일치하는 문자열의 특정 부분을 추출할 수 있습니다. 이 예에서는 아래 코드 조각에서 볼 수 있듯이 "Matcher" 개체의 "group()" 메서드를 통해 각 그룹의 일치 값에 액세스할 수 있습니다.
<code class="java">Pattern pattern = Pattern.compile("(.*?)(\d+)(.*)"); Matcher matcher = pattern.matcher(line); if (matcher.find()) { System.out.println("group 1: " + matcher.group(1)); System.out.println("group 2: " + matcher.group(2)); System.out.println("group 3: " + matcher.group(3)); }</code>
위 내용은 Java 정규식에서 그룹 캡처는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!