Java如何在正则表达式中匹配重复单词?


在Java编程中,如何在正则表达式中匹配重复单词?

以下示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词。

package com.yiibai; import java.util.Scanner; import java.io.*; import java.util.regex.*; import java.util.ArrayList; public class SearchingDuplicateWords { public static void main(String[] args) { ArrayList<String> manyLines = new ArrayList<String>(); ArrayList<String> noRepeat = new ArrayList<String>(); try { String s1 = "Hello hello Hello there there past pastures "; Scanner myfis = new Scanner(s1); while (myfis.hasNext()) { String line = myfis.nextLine(); String delim = System.getProperty("line.separator"); String[] lines = line.split(delim); for (String s : lines) { if (!s.isEmpty() && s != null) { manyLines.add(s); } } } if (!manyLines.isEmpty()) { System.out.print("Original text is:\n"); for (String s : manyLines) { System.out.println(s); } } if (!manyLines.isEmpty()) { for (String s : manyLines) { String result = s.replaceAll("(?i)\\b([a-z]+)\\b(?:\\s+\\1\\b)+", "$1"); noRepeat.add(result); } } if (!noRepeat.isEmpty()) { System.out.print("After Remove duplicates:\n"); for (String s : noRepeat) { System.out.println(s); } } } catch (Exception ex) { System.out.println(ex); } } } 
Java

上述代码示例将产生以下结果 -

Original text is:
Hello hello Hello there there past pastures 
After Remove duplicates:
Hello there past pastures


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM