Mega Code Archive

 
Categories / Java / Regular Expressions
 

Find duplication

import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class MatchDuplicateWords {   public static void main(String args[]) {     hasDuplicate("pizza pizza");     hasDuplicate("Faster pussycat kill kill");     hasDuplicate("The mayor of of simpleton");     hasDuplicate("Never Never Never Never Never");     hasDuplicate("222 2222");     hasDuplicate("sara sarah");     hasDuplicate("Faster pussycat kill, kill");     hasDuplicate(". .");   }   public static boolean hasDuplicate(String phrase) {     boolean retval = false;     String duplicatePattern = "\\b(\\w+) \\1\\b";     Pattern p = null;     try {       p = Pattern.compile(duplicatePattern);     } catch (PatternSyntaxException pex) {       pex.printStackTrace();       System.exit(0);     }     int matches = 0;     Matcher m = p.matcher(phrase);     String val = null;     while (m.find()) {       retval = true;       val = ":" + m.group() + ":";       System.out.println(val);       matches++;     }     String msg = "   NO MATCH: pattern:" + phrase         + "\r\n             regex: " + duplicatePattern;     if (retval) {       msg = " MATCH     : pattern:" + phrase + "\r\n         regex: "           + duplicatePattern;     }     System.out.println(msg + "\r\n");     return retval;   } }