Java 使用正则表达式验证语句

Java 使用正则表达式验证语句,java,regex,Java,Regex,我已经编写了一个正则表达式来检查以下语句的有效性 String pattern= "^how many [r|R]upees is (([A-Za-z\\s])+)\\?$"; String statment1 = "HOW MANY RUPEES IS RED BLUE GOLD ?"; // all caps String statment2 = "how many Rupees is red blue Gold?"; System.out.println(statment1.matche

我已经编写了一个正则表达式来检查以下语句的有效性

String pattern= "^how many [r|R]upees is (([A-Za-z\\s])+)\\?$";

String statment1 = "HOW MANY RUPEES IS RED BLUE GOLD ?"; // all caps
String statment2 = "how many Rupees is red blue Gold?";
System.out.println(statment1.matches(pattern));
System.out.println(statment2.matches(pattern));
输出

false
true
如果所有内容都在caps下,如何验证该语句只需在模式中添加
(?i)
不区分大小写的修饰符

String pattern = "(?i)^how many rupees is ([a-z\\s]+)\\?$";
只需将
(?i)
不区分大小写的修饰符添加到您的模式中

String pattern = "(?i)^how many rupees is ([a-z\\s]+)\\?$";

您可以尝试使用StringUtils在不使用正则表达式的情况下执行此操作

检查字符序列是否仅包含大写字符


您可以尝试使用StringUtils在不使用正则表达式的情况下执行此操作

检查字符序列是否仅包含大写字符


我认为OP的意思是让
语句1
与给定的正则表达式匹配,而不仅仅是测试大写。@realpoint:实际上,我使用了这行
如何验证语句是否所有内容都在caps
下。如果不是这样的话,那么Avinash的答案就足够好了。我认为OP的意思是让
语句1
与给定的正则表达式匹配,而不仅仅是测试大写。@realpoint:事实上,我使用了这行
如何验证语句是否所有内容都在CAP下。如果不是这样,那么阿维纳什的答案就足够好了。你从哪里学的正则表达式?每次我打开一个正则表达式标签,我都会看到你的答案,并投上很多赞成票;)你在哪里学的正则表达式?每次我打开一个正则表达式标签,我都会看到你的答案,并投上很多赞成票;)