Java中的模式CASE_INSENSITIVE字段和示例
Pattern类的CASE_INSENSITIVE字段与字符匹配,无论大小写如何。当将此值用作compile()
方法的标志值时,并且如果使用正则表达式搜索字符,则两种情况下的字符都将匹配。
注意-默认情况下,此标志仅匹配ASCII字符
例子1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CASE_INSENSITIVE_Example { public static void main( String args[] ) { Scanner sc = new Scanner(System.in); System.out.println("Enter input data: "); String input = sc.nextLine(); System.out.println("Enter required character: "); char ch = sc.next().toCharArray()[0]; //正则表达式以查找所需字符 String regex = "["+ch+"]"; //编译正则表达式 Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); //检索匹配器对象 Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { count++; } System.out.println("The letter "+ch+" occurred "+count+" times in the given text (irrespective of case)"); } }
输出结果
Enter input data: nhooo.com originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms. Enter required character: T The letter T occurred 20 times in the given text (irrespective of case)
例子2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class VerifyBoolean { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String str = sc.next(); Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); if(matcher.matches()){ System.out.println("Given string is a boolean type"); } else { System.out.println("Given string is not a boolean type"); } } }
输出1
Enter a string value: true Given string is a boolean type
输出2
Enter a string value: false Given string is a boolean type
输出3
Enter a string value: hello Given string is not a boolean type