import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?!.*(\\.com?\\.)|\\.com\\.).*$";
final String string = "regexp_repalce with negated character class:\n"
+ "yahoo\\.co[^\\.].*\n\n"
+ "https://stackoverflow.com/questions/977251/regular-expressions-and-negating-a-whole-character-group\n"
+ "^(?!.*ab).*$\n\n"
+ ".es\n\n"
+ "yahoo.es\n"
+ "yahoo.fr\n"
+ "yahoo.ca\n"
+ "yahoo.cm\n"
+ "yahoo.cn\n"
+ "yahoo.tw\n"
+ "yahoo.co.jp\n"
+ "yahoo.co.kr\n"
+ "yahoo.co.uk\n"
+ "yahoo.com.cn\n"
+ "yahoo.com.hk\n"
+ "yahoo.com.mx\n"
+ "yahoo.com.tw\n\n"
+ "REPLACE\n"
+ "yahoo.co\n"
+ "yahoo.co,\n"
+ "yahoo.com\n"
+ "yahoo.com,\n"
+ "yahoo.com.\n"
+ "yahoo.com'\n"
+ "yahoo.com/haltokariev\n"
+ "yahoo.com>\n"
+ "yahoo.com21yahoo.com\n"
+ "yahoo.comcom\n"
+ "yahoo.comheatdoc1123\n\n"
+ "yahoo\n"
+ "yahoomail.com keep\n"
+ "yahool.com\n"
+ "yahooo.com\n"
+ "yahoo.comj\n"
+ "yahoo.net\n"
+ "yahoocom\n\n\n"
+ "yahoo.com.hk\n"
+ "yahoo.co.uk\n"
+ "yahoo.es\n"
+ "yahoo.co\n"
+ "yahoo.com.tw\n"
+ "yahoo.fr\n"
+ "yahoo.ca\n\n"
+ "gmasucciarchitects.com\n"
+ "gmirealtyllc.com\n"
+ "gmarchitects.nett\n"
+ "gmarchitects.nte\n"
+ "gmachitects.net\n"
+ "gmarchitects.net\n\n\n"
+ "g-mail.com\n"
+ "g.mail.com\n"
+ "gailmail.com\n"
+ "gamail.com\n"
+ "gaol.com\n"
+ "geeemail.com\n"
+ "gemail.com\n"
+ "gfmail.com\n"
+ "ggmail.com\n"
+ "gimail.com\n"
+ "gmai.com\n"
+ "gmai9l.com\n"
+ "gmaiil.com\n"
+ "gmail\n"
+ "gmail.\n"
+ "gmail..com\n"
+ "gmail.c\n"
+ "gmail.cim\n"
+ "gmail.cm\n"
+ "gmail.co\n"
+ "gmail.com\n"
+ "gmail.com.\n"
+ "gmail.com.com\n"
+ "gmail.com101\n"
+ "gmail.com2014505140\n"
+ "gmail.com8206\n"
+ "gmail.comalexandrasceboldsecretary\n"
+ "gmail.comaol.com\n"
+ "gmail.combchan43460\n"
+ "gmail.comc\n"
+ "gmail.comceciliaschiera\n"
+ "gmail.comcolecole.cc1\n"
+ "gmail.comi\n"
+ "gmail.comil.com\n"
+ "gmail.comj\n"
+ "gmail.comjamesesber\n"
+ "gmail.coml.com\n"
+ "gmail.comleponto\n"
+ "gmail.comll\n"
+ "gmail.comlwilliams102\n"
+ "gmail.comm\n"
+ "gmail.comment.com\n"
+ "gmail.commipg820\n"
+ "gmail.comn\n"
+ "gmail.comnaka\n"
+ "gmail.comnr.aidan.collins\n"
+ "gmail.comol.com\n"
+ "gmail.comorapa0013\n"
+ "gmail.con\n"
+ "gmail.coom\n"
+ "gmail.cpm\n"
+ "gmail.cvom\n"
+ "gmail.gmail.com\n"
+ "gmail.net\n"
+ "gmail.om\n"
+ "gmail.oom\n"
+ "gmail.you\n"
+ "gmail1.com\n"
+ "gmail8203.com\n"
+ "gmailc.com\n"
+ "gmailc.om\n"
+ "gmailcom\n"
+ "gmailfurman.com\n"
+ "gmaill.com\n"
+ "gmaillcom\n"
+ "gmailmgmtcom\n"
+ "gmails.com\n"
+ "gmailus.com\n"
+ "gmaiol.com\n"
+ "gmal.com\n"
+ "gmale.com\n"
+ "gmall.com\n"
+ "gmaol.com\n"
+ "gmauil.com\n"
+ "gmial.com\n"
+ "gmil.com\n"
+ "gmila.com\n"
+ "gmmail.com";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html