English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.util.regex.Matcher 클래스는 다양한 매치 작업을 수행하는 엔진을 나타냅니다. 이 클래스는 생성자가 없으며, 사용할 수 있습니다matches()
java.util.regex.Pattern 클래스의 메서드를 생성/이 클래스의 객체를 가져옵니다.
정규 표현식에서 lookbehind와 lookahead 구조는 특정 패턴 이전 또는 이후의 특정 패턴을 매치하는 데 사용됩니다. 예를 들어, 만약5부터12개 문자의 문자열이면, 정규 표현식은-
"\\A(?=\\w{6,10}\\z)";
기본적으로, 매치区域的 경계선은 전진, 후진 및 경계선 매치 구조에 대해 불투명합니다. 즉, 이 구조는 경계선 이외의 입력 텍스트 내용을 매치할 수 없습니다-
이 클래스메서드의hasTransparentBounds()메서드는 현재 매치어러가 투명한 경계선을 사용하는지 확인하고, 사용하면 true, 사용하지 않으면 false를 반환합니다.
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 매치되지 않음 현재 매치어러는 사용하지 않음-투명한 경계선
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 매칭 발견 현재 매칭자가 투명 경계를 사용합니다