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