English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java의 Matcher useTransparentBounds() 메서드의 예제

java.util.regex.Matcher 클래스는 다양한 매치 작업을 수행하는 엔진을 나타냅니다. 이 클래스는 생성자가 없으며, 사용할 수 있습니다.matches()java.util.regex.Pattern 메서드를 통해 생성/이 클래스의 객체를 얻습니다.

정규 표현식에서 lookbehind과 lookahead 구조는 특정 패턴 이전 또는 이후에 매치하는 데 사용됩니다. 예를 들어, 만약5부터12문자의 문자열이면, 정규 표현식은-

"\\A(?=\\w{6,10}";

기본적으로, 매치어区域的 경계는 전진 검사, 후진 검사 및 경계 매치에 대해 불투명입니다. 즉, 이 구조는 경계区域을 초과하는 입력 텍스트 내용을 매치할 수 없습니다.-

예제1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class useTransparentBoundsExample {
   public static void main(String[] args) {
      //정규 표현식은 받아들이는 수 있습니다6부터10글자
      String regex = "\\A(?=\\w{6,10}";
      System.out.println("입력 5 부터 12 글자: ");
      String input = new Scanner(System.in).next();
      //모드 객체 생성
      Pattern pattern = Pattern.compile(regex);
      //Matcher 객체 생성
      Matcher matcher = pattern.matcher(input);
      //입력 문자열을 区域으로 설정
      matcher.region(0, 4);
      //투명 범위로 전환
      if(matcher.find()) {
         System.out.println("일치 발견됨");
      } else {
         System.out.println("일치 발견되지 않음");
      }
   }
}

출력 결과

입력 5 부터 12 글자:
sampleText
매치가 발견되지 않았습니다

이 클래스메서드의useTransparentBounds()메서드는 부울 값을 받아들여, 이 메서드에 true를 전달하면 현재 매치어는 투명 범위를 사용하며, 이 메서드에 false를 전달하면 불투명 범위를 사용합니다.

예제2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String[] args) {
      //정규 표현식은 받아들이는 수 있습니다6부터10글자
      String regex = "\\A(?=\\w{6,10}";
      System.out.println("입력 5 부터 12 글자: ");
      String input = new Scanner(System.in).next();
      //모드 객체 생성
      Pattern pattern = Pattern.compile(regex);
      //Matcher 객체 생성
      Matcher matcher = pattern.matcher(input);
      //입력 문자열을 区域으로 설정
      matcher.region(0, 4);
      //투명 범위로 전환
      matcher = matcher.useTransparentBounds(true);
      if(matcher.find()) {
         System.out.println("일치 발견됨");
      } else {
         System.out.println("일치 발견되지 않음");
      }
   }
}

출력 결과

입력 5 부터 12 글자:
sampletext
일치 발견됨