字符类:否定-Java正则表达式
Java正则表达式中的字符类使用方括号“[]”定义,该子表达式与指定字符或一组可能的字符中的单个字符匹配。
例如,正则表达式[abc]匹配单个字符a或b或c。同样,“[az]”匹配从a到z的单个字符。
类似地,字符类的否定变量定义为“[^]”(^放在方括号内),它与不在指定字符集或可能字符集中的单个字符匹配。
例如,正则表达式[^abc]匹配单个字符,但a或b或c除外。同样,“[^az]”匹配从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