title: What do the characters ((?:(?:(?: mean in pattern-matching?
body: <p>I have some code:</p>
  
  <pre><code>import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  import org.apache.commons.lang.StringUtils;
  
  private boolean validateEmail(...)
  
  Pattern p = Pattern.compile("^((?:(?:(?:[a-zA-Z0-9][\\.\\-\\+_]?)*)[a-zA-Z0-9])+)\\@((?:(?:(?:[a-zA-Z0-9][\\.\\-_]?){0,62})[a-zA-Z0-9])+)\\.([a-zA-Z0-9]{2,6})$");
  
  Matcher m = p.matcher(fieldValue);
  boolean matches = m.matches();
  
  if (!matches) {    
  // show not valid msg...
  }
  return matches;
  }
  </code></pre>
  
  <p>What do <code>^((?:(?:(?:</code> and <code>((?:(?:(?:</code> mean in that pattern?
  The <code>^</code> character mean negation (all without) but other characters?</p>