字符类:否定-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