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

Java의 Matcher hasTransparentBounds() 메서드에 예제가 있습니다

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

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

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

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

이 클래스메서드의hasTransparentBounds()메서드는 현재 매치어러가 투명한 경계선을 사용하는지 확인하고, 사용하면 true, 사용하지 않으면 false를 반환합니다.

예제1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HasTransparentBounds {
   public static void main(String[] args) {
      //정규 표현식은 받을 수 있습니다6부터10개 문자
      String regex = ";\\A(?=\\w{6,10}\\z)";
      System.out.println("Enter 5 to 12 characters: ");
      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("매칭 발견되지 않음");
      }
      boolean bool = matcher.hasTransparentBounds();
      //투명 범위로 전환
      if(bool) {
         System.out.println("현재 매칭자가 투명 경계를 사용합니다");
      } else {
         System.out.println("현재 매칭자가 비 투명 경계를 사용자");-투명 경계
      }
   }
}

출력 결과

Enter 5 to 12 문자:
sampletext
매치되지 않음
현재 매치어러는 사용하지 않음-투명한 경계선

예제2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HasTransparentBounds {
   public static void main(String[] args) {
      //정규 표현식은 받을 수 있습니다6부터10개 문자
      String regex = ";\\A(?=\\w{6,10}\\z)";
      System.out.println("Enter 5 to 12 characters: ");
      String input = new Scanner(System.in).next();
      //패턴 객체를 생성합니다
      Pattern pattern = Pattern.compile(regex);
      //Matcher 객체를 생성
      Matcher matcher = pattern.matcher(input);
      //입력 문자열을 영역으로 설정
      matcher.region(0, 4);
      matcher.useTransparentBounds(true);
      if(matcher.find()) {
         System.out.println("매칭 발견");
      } else {
         System.out.println("매칭 발견되지 않음");
      }
      boolean bool = matcher.hasTransparentBounds();
      //투명 범위로 전환
      if(bool) {
         System.out.println("현재 매칭자가 투명 경계를 사용합니다");
      } else {
         System.out.println("현재 매칭자가 비 투명 경계를 사용자");-투명 경계
      }
   }
}

출력 결과

Enter 5 to 12 문자:
sampletext
매칭 발견
현재 매칭자가 투명 경계를 사용합니다
좋아하는 것