例:
“ initial”应返回“ ineetial”,“ alumni”应返回“ alumnee”,“ illuminati”应返回“ illumeenati”
但是,使用此代码:
str = str.replaceAll("(\\w+)i(.?)", "$1ee$2");
我一直在获取“ initeeal”,“ alumnee”和“ illuminatee”,但我不明白为什么。
最佳答案
使用以下Pattern
,并为您的初始单词字符添加一个不希望的量词:
String[] input = {"initial", "alumni", "illuminati"};
for (String s: input) {
System.out.println(s.replaceAll("(\\w+?)i(.*)", "$1ee$2"));
}
输出量
ineetial
alumnee
illumeenati