📅  最后修改于: 2023-12-03 15:08:03.730000             🧑  作者: Mango
本程序使用Java语言,利用正则表达式来查找文本中的重复单词。
在使用本程序之前,需要先安装Java环境,并且熟悉正则表达式的基本语法。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WordCounter {
public static void main(String[] args) {
String text = "hello world world java world java";
Pattern pattern = Pattern.compile("\\b(\\w+)\\b\\s+\\b\\1\\b");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("Duplicate word found: " + matcher.group(1));
}
}
}
该程序中使用了Java自带的正则表达式库,将正则表达式编译成一个Pattern对象,再用该对象的matcher()方法生成一个Matcher对象,该Matcher对象可用来在文本中查找重复单词。
使用以上代码,输入以下文本:
hello world world java world java
则程序会输出以下内容:
Duplicate word found: world
Duplicate word found: java
\b
:匹配单词边界。
(\\w+)
:匹配一个或多个单词字符。这里使用了括号来将这个子表达式分组,以便在后面进行引用。
\1
:引用前面的分组,即重复的单词。
\s+
:匹配一个或多个空格字符。
\b
:单词边界。
本程序展示了如何用Java语言利用正则表达式来查找重复单词。通过该程序,我们可以更好地理解Java中的正则表达式相关知识。