Find duplication : Validation « Regular Expressions « Java






Find duplication

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;
  }
}

           
         
  








Related examples in the same category

1.Simplest validationSimplest validation
2.Validation with Pattern and MatcherValidation with Pattern and Matcher
3.Perform credit card validations.