Java 정규식의 문자 클래스는 대괄호 "[ ]"를 사용하여 정의되며, 이 하위 표현식은 지정된 또는 가능한 문자 집합의 단일 문자와 일치합니다. 예를 들어, 정규식 [abc]는 단일 문자 a 또는, b 또는 c와 일치합니다.
문자 클래스의 범위 변형을 사용하면 문자 범위를 사용할 수 있습니다. 즉, 표현식 [a-z]는 알파벳 a에서 z까지의 단일 문자와 일치하고 [^A-Z] 표현식은 대문자가 아닌 문자와 일치합니다.피>
예시 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[a-z]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { count++; } System.out.println("Number characters from the range (a-z): "+count); } }
출력
Enter input text: sample data 5423 #@ %*& Number characters from the range (a-z): 10
예시 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[^A-Z]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); int count =0; if (matcher.find()) { System.out.println("match occurred"); } else { System.out.println("match not occurred"); } } }
출력 1
Enter input text: sample data match occurred
출력 2
Enter input text: SAMPLEDATA match not occurred