import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:[^\\n]+)?(?:\\b(?:(?!\\bCPF\\b))(?:(?!\\bCNPJ\\b))(?:(?!\\bCNH\\b))(?:(?!\\bRG\\b))(?:[A-Z\\u00C0-\\u00DC][A-zÀ-ÿ']+\\s(?:(?:(?:[A-zÀ-ÿ']{1,3}\\s)?(?:(?:(?!\\bCPF\\b))(?:(?!\\bCNPJ\\b))(?:(?!\\bCNH\\b))(?:(?!\\bRG\\b))[A-ZÀ-Ÿ][A-zÀ-ÿ']*\\s?))+))\\b(?:(?:[^\\.](?:.+?\\. ))|(?:[^\\.](?:.+?\\.))))";
final String string = "Everlado Augusto de CNPJ.\n\n"
+ "João da Rosa Macedo comprou uma bike super moderna.\n\n"
+ "Pedro Albuquerquer de Oliveira está comendo uma fruta com RG 12354. \n\n"
+ "Jorge Diorno alugou um apartamento em berlin.\n\n"
+ "João de Oliveira Martins do Campo de Souza Braga.\n\n"
+ "Alberto de Roma teste.\n\n"
+ "Juliana Emanuela da Luz Souza portadora do CPF 008.543.213-30, recebe um salário de 1500,30 reais.\n"
+ " Atualmente mora na Avenida dos logradouros 467 número 14, São Leopoldo e, por 40 horas é empregada na empresa Cristal Serrano com o CNPJ 13.123.321/4133-44. \n"
+ "De acordo com o seu cadastro, possui o seguinte telefone de contato +55 (54) 99166-6508.\n"
+ "Conforme vem a solicitar a Receita Federal é indicado que por meio deste documento disposto para o contribuinte de RG 183654527, uma multa no valor de 54 dólares seja cobrada por não possuir a CNH de número 10234556378 e carteira de trabalho 123 45678 91 0 validadas de acordo com a lei atribuída na tribuna com o endereço Avenida Júlio de Castilhos número 45000. \n"
+ "Conforme sentenciado pelo juiz Carlos Romano de Freitas Pereira da Silva. As informações do indivíduo estão dispostas no email descubraoproblema@sindicato.com.br. \n"
+ "Para fazer acesso ao email é necessário configurar o computador com que fique com o IPV4 utilizado seja 112.128.52.10 e o IPV6 deve ser 2001:ca8:0:1fe1::200. Para acessar a conta é necessário que o contribuinte utilize o número disposto na carteira de trabalho sendo esta 123.45678.91-0 e o número do passaporte sendo este CS123456. É importante que o usuário comprove os dados utilizando o número do título de eleitor 1234 5678 9101. O valor final que deverá ser pago deve corresponder a um valor simbólico de 7.891,12 brl. \n"
+ "É Importante destacar a necessidade de mostrar o RG 123456789 e a CNH 12345678910.\n";
final Pattern pattern = Pattern.compile(regex);
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