import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?!\\bTAG_|\\bSECUENCIA_)\\w*";
final String string = " <DATOS>\n"
+ " <SECUENCIA_A>\n"
+ " <TAG_28E_A>\n"
+ " <NUM_PAGINA_28E_A>String</NUM_PAGINA_28E_A>\n"
+ " <IND_PAGINA_28E_A>String</IND_PAGINA_28E_A>\n"
+ " </TAG_28E_A>\n"
+ " <TAG_20C_SEME>\n"
+ " <REFER_20C>String</REFER_20C>\n"
+ " </TAG_20C_SEME>\n"
+ " <TAG_23G_A>\n"
+ " <FUNCION_23G>String</FUNCION_23G>\n"
+ " <SUBFUNCION_23G>String</SUBFUNCION_23G>\n"
+ " </TAG_23G_A>\n"
+ " <TAG_98C_PREP>\n"
+ " <FECHA_98C>String</FECHA_98C>\n"
+ " <HORA_98C>String</HORA_98C>\n"
+ " </TAG_98C_PREP>\n"
+ " <TAG_98A_STAT>\n"
+ " <FECHA_98A>String</FECHA_98A>\n"
+ " </TAG_98A_STAT>\n"
+ " <TAG_22F_SFRE>\n"
+ " <IND_22F>String</IND_22F>\n"
+ " </TAG_22F_SFRE>\n"
+ " <TAG_22F_CODE>\n"
+ " <IND_22F>String</IND_22F>\n"
+ " </TAG_22F_CODE>\n"
+ " <TAG_22F_STTY>\n"
+ " <IND_22F>String</IND_22F>\n"
+ " </TAG_22F_STTY>\n"
+ " <TAG_22F_STBA>\n"
+ " <IND_22F>String</IND_22F>\n"
+ " </TAG_22F_STBA>\n"
+ " <SECUENCIA_A1>\n"
+ " <TAG_13A_LINK>\n"
+ " <IND_13A>String</IND_13A>\n"
+ " </TAG_13A_LINK>\n"
+ " <TAG_20C_RELA>\n"
+ " <REFER_20C>String</REFER_20C>\n"
+ " </TAG_20C_RELA>\n"
+ " </SECUENCIA_A1>";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
if (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