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}";
기본적으로, 매치어区域的 경계는 전진 검사, 후진 검사 및 경계 매치에 대해 불투명입니다. 즉, 이 구조는 경계区域을 초과하는 입력 텍스트 내용을 매치할 수 없습니다.-
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를 전달하면 불투명 범위를 사용합니다.
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 일치 발견됨