我有两个单词列表,
答:坑坑洼洼的slaptwo喘息,B:pt Pot泥炭部分
我必须创建一个正则表达式模式,对于A列中的所有内容都返回true,对于B列中的所有内容都返回false。我认为有一些事情我从根本上会对正则表达式产生误解,因为我提出的所有内容最终都会产生一个我不想要它的额外假。主要是我无法弄清楚如何禁止彼此相邻的两个元音。
这就是我所拥有的:
public static void main(String[] args){
String[] check = {"pit","spot","spate","slaptwo","respite","pt","Pot","peat","part"};
Pattern p = Pattern.compile("([psr][^t(ea)][^r])\\w*");
ArrayList<Matcher> M = new ArrayList<Matcher>();
for (int i = 0; i < check.length; i++) {
M.add(p.matcher(check[i]));
}
for (int j = 0; j < M.size(); j++){
System.out.println("Return Value:" +check[j] + "\t"+ M.get(j).matches());
}
}
我现在明白了(ea)并没有被视为一件事,因此当我不想要它时,它会导致暂缓,其他一切都会返回正确的值。正如我之前所说,我需要知道如何禁止两个元音彼此相邻。或者,如果我在这里缺少一些基本的东西?