Java 정규식의 문자 클래스는 대괄호 "[ ]"를 사용하여 정의되며, 이 하위 표현식은 지정된 문자 또는 가능한 문자 집합의 단일 문자와 일치합니다.
예를 들어 정규식 [abc]는 단일 문자 a 또는, b 또는, c와 일치합니다. 마찬가지로 "[a-z]"는 a에서 z까지의 단일 문자와 일치합니다.
마찬가지로, 문자 클래스의 부정 변형은 "[^ ]"(대괄호 안에 ^ 포함)로 정의되며 지정된 문자 또는 가능한 문자 집합에 없는 단일 문자와 일치합니다.
예를 들어 정규식 [^abc]는 a or, b 또는 c를 제외한 단일 문자와 일치합니다. 마찬가지로 "[^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 = "[^aeiou]";
//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 of non-vowel characters : "+count);
}
} 출력
Enter input text: sample data Number of non-vowel characters : 7