题意很简单,就是给你一些字符串,然后你判断哪些符合。
符合的标准是:1.必须要有一个元音字母。
2.不能有连续三个元音字母或者非元音字母。
3.不能有连续相同的两个字母(ee和oo除外)
利用正则表达式:
代码如下:
import java.util.*;
import java.math.*;
import java.util.regex.*;
import java.lang.*;
public class Main{
public static void main(String args[]) {
String re1 = ".*[aeiou]+.*";
String re2 = ".*[aeiou]{3}.*|.*[^aeiou]{3}.*";
String re3 = ".*([^eo])\\1.*";
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String str = in.next();
boolean r1 = str.matches(re1);
boolean r2 = str.matches(re2);
boolean r3 = str.matches(re3);
// System.out.println(r1 +" "+ r2 +" "+ r3);
if(str.equals("end"))//在java里面==是判断地址相等
break;
if(r1 && !r2 && !r3)
System.out.println("<"+str+"> is acceptable.");
else
System.out.println("<"+str+"> is not acceptable.");
}
in.close();
}
}