我想要一个与字符串结尾匹配的正则表达式模式.
我正在实现一个词干算法,它将删除单词的后缀.
例如,对于'开发者'一词,它应匹配's'.我可以使用以下代码来做到这一点:
Pattern p = Pattern.compile("s");
Matcher m = p.matcher("Developers");
m.relaceAll(" "); // it will replace all 's' with ' '
Run Code Online (Sandbox Code Playgroud)
我想要一个只匹配字符串结尾的正则表达式.基本上我想要一个方法replaceLast().
Mar*_*nik 15
你需要匹配"s",但前提是它只是一个单词中的最后一个字符.这是通过边界断言$来实现的:
input.replaceAll("s$", " ");
Run Code Online (Sandbox Code Playgroud)
如果增强正则表达式,则可以通过一次调用replaceAll替换多个后缀:
input.replaceAll("(ed|s)$", " ");
Run Code Online (Sandbox Code Playgroud)