import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\b(?:(?:EXONERAR|d[ae]|por|símbolo)\\s([^,]+?)(?: e Gestão)?,|\\b(?!SEI\\b)([A-Z\\d]+-\\s*\\d+)|SEI-\\s*([\\d \\/]+)\\b|\\b([A-Z]+(?:[\\s-]+[A-Z]+)+(?=,)))";
final String string = "EXONERAR, com validade a contar de 19 de agosto de 2020, DE-\n"
+ "NILSON DE BRITO LIMA, ID FUNCIONAL Nº 2100423-4, do cargo\n"
+ "em comissão de Coordenador, símbolo DAS-8, da Coordenadoria de\n"
+ "Gestão Centralizada de Serviços, da Superintendência de Gestão\n"
+ "Centralizada, da Subsecretaria de Logística, da Secretaria de Estado\n"
+ "de Planejamento e Gestão. Processo nº SEI-120001/010643/2020\n\n"
+ "EXONERAR, a pedido, NADIA NAKAMURA VIEIRA, ID FUNCIONAL\n"
+ "Nº 5099589-8, do cargo em comissão de Assessor Especial, símbolo\n"
+ "DG, da Secretaria de Estado de Planejamento e Gestão. Processo nº\n"
+ "SEI-150001/004627/2020\n\n"
+ "EXONERAR, com validade a contar de 26 de novembro de 2020,\n"
+ "BRUNO RAFAEL ROCHA COSTA, ID FUNCIONAL Nº 5108093-1, do\n"
+ "cargo em comissão de Assessor, símbolo DAS-7, da Assessoria de\n"
+ "Planejamento e Gestão, da Presidência, da Superintendência de Des-\n"
+ "portos do Estado do Rio de Janeiro - SUDERJ, da Secretaria de Es-\n"
+ "tado de Esporte, Lazer e Juventude. Processo nº SEI-\n"
+ "3 0 0 0 0 2 / 0 0 0 4 11 / 2 0 2 0 .\n\n\n"
+ "EXONERAR MONIQUE SANTOS NAZÁRIO, ID FUNCIONAL\n"
+ "5009814-4, com validade a contar de 26 de novembro de 2020, do\n"
+ "cargo em comissão de Diretora de Divisão de Alimentação, símbolo\n"
+ "DAS-6, da Superintendência de Contratos e Convênios da Subsecre-\n"
+ "taria de Gestão Finanças e Planejamento da Secretaria de Estado de\n"
+ "Administração Penitenciária, Processo nº SEI-210001/004035/2020.\n";
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