完全正确的正则表达式:
“大象”
正确,尽管拼写为“大象”正则表达式:“[^E]lephants|E[^l]ephents|El[^e]phants|Ele[^p]hants|Elep[^h]ants|Eleph[^a]nts|大象[^n]ts|大象[^t]s|大象[^s]"
答案接受正则表达式:“lephants|Eephants|Elphants|Elehants|Elephants|Elephnts|Elephnts|Elephats|Elephans|Elephant”
您可以编写一个小程序,它会自动生成验证您的答案的正则表达式并输出您的正则表达式落入的情况
例如,假设正确答案是“大象”,您可以编写一个例程来测试第二种情况(尽管拼写错误,但正确)。
String generateCorrectAltoughMispelledAnswerRegex(final String answer) {
StringBuilder builder = new StringBuilder();
String answer = "Elephants";
for (int i = 0; i < answer.length; i++) {
String mispelled = answer.substring(0, i) + "[^" + char.at(i) + "]" +
(i < length ? answer.substring(i + 1) : "");
answer.append(mispelled);
if (i < length - 1) { answer.append("|"); }
}
String regex = builder.build();
return regex;
}
例如:通过使用参数“Elephants”调用函数 generateCorrectAlthoughMispelledAnswerRegex generateCorrectAltoughMispelledAnswerRegex("Elephants")
它将生成用于测试第二种情况的正则表达式:
"[^E]lephants|E[^l]ephents|El[^e]phants|Ele[^p]hants|Elep[^h]ants|Eleph[^a]nts|Elepha[^n]ts|Elephan[^t]s|Elephant[^s]"
您可以对其他情况执行相同的操作。