java - Java 中的正则表达式 - 正则表达式

标签 java regex

我在正则表达式方面遇到问题。我需要打印并计算以“ge”开头并以“ne”或“me”结尾的单词。当我运行代码时,仅出现以“ge”开头的单词。谁能帮助我改进我的源代码?

Pattern p = Pattern.compile("ge\\s*(\\w+)");
Matcher m = p.matcher(input);

int count=0;
List<String> outputs = new ArrayList<String>();

while (m.find()) {
    count++;
    outputs.add(m.group());
    System.out.println(m.group());
}

System.out.println("The count is " + count);

最佳答案

\bge\w*[nm]e\b

这应该适合你。

在java中这将是

\\bge\\w*[nm]e\\b

使用\b表示单词边界

关于java - Java 中的正则表达式 - 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33006608/

相关文章:

java - 将应用程序与 VC++ 应用程序集成

javascript - 正则表达式删除 URL 中的所有特殊字符

regex - 使用正则表达式搜索List <String>的内容

php - preg_replace 即使在第一次替换之后也匹配字符串中的所有匹配项

java - ActiveMQ实时配置

java - JavaFx ColorPicker 中是否可以获取 'new color' ?

java - SQL密码安全

java - grails 应用程序 gmail smtp 无法在 ubuntu 上运行

javascript - 使用 regExp 不区分大小写的单词边界

regex - Ruby 是否有类似于 Perl 6 语法的插件?