import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<=(?i:\\bRG\\b\\s)|(?i:\\bid))(?:.+?)?((?:\\b\\d{9}\\b))";
final String string = "RG 123456789\n"
+ "IDENTIDADE a b 987654321\n\n"
+ "IDENTIDADE 987654321. e ele possui IDENTIDADE de 987654321.\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