如果字符串与指定的正则表达式模式匹配,则 matchs 方法返回 true,否则返回 false。
String[] strDays = new String[]{"Saturday", "Sunday", "Monday", "Tuesday"};
for(String day : strDays){
boolean isWeekend = day.matches( "(Satur|Sun)day" );
System.out.println( day + " => " + isWeekend );
}
输出:
Saturday => true
Sunday => true
Monday => false
Tuesday => false
正则表达式模式 (Satur|Sun)day 检查字符串是否与“Satur”或“Sun”后跟“day”匹配。 如果是,则返回 true。
请注意,matches 方法将整个字符串与模式匹配,对于部分匹配,它返回 false:
String strDay = "sunday";
System.out.println( strDay.matches("day") );
因此,即使字符串包含“day”,matches 方法也会返回 false。如果要返回 true,需要使用以下模式来匹配整个字符串。
String strDay = "sunday";
System.out.println( strDay.matches(".*day.*") );
输出:
true
模式 模式 .*day.* 表示任意次数的任意字符,后跟“day”,之后再跟任意次数的任意字符。因此 matchs 方法返回 true。