import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "LOC\\+11[^L]*(?:L(?!OC\\+11)[^L]*)*";
final String string = "> NAD+ST+14::92++Test' LOC+11+KOD23277::92' LOC+7+D77::92:Test' LIN+1++\n"
+ "> test AP:IN'IMD+F++12::272:K\n"
+ "> RIPPsadasdRIEM'RFF+ON:EN10514492'RFF+AAN:501'\n"
+ "> DTM+171:20220309:102'RFF+AIF:500'DTM+171:20220305:102'CTA+SC+12414:test,\n"
+ "> test'COM+melweasdsaanigge.frasdasdasdaicke1@test.de:EM'\n"
+ "> COM+?+49-561-490-4173:TE'COM+?+49-561-490-84173:FX' QTY+83:1000:PCE'\n"
+ "> QTY+70:66850:PCE'DTM+51:20080101:102'\n"
+ "> QTY+72:0:PCE'DTM+52:20080101:102'\n"
+ "> QTY+194:1000:PCE'DTM+50:20220224:102'\n"
+ "> RFF+AAU:2143276'DTM+171:20220218:102'\n"
+ "> QTY+194:1000:PCE'DTM+50:20220202:102'\n"
+ "> RFF+AAU:2138944'DTM+171:20220131:102'\n"
+ "> QTY+194:1000:PCE'DTM+50:20220105:102'\n"
+ "> RFF+AAU:2138943'DTM+171:20220103:102' SCC+24'\n"
+ "> QTY+113:1000:PCE'DTM+2:20220412:102'\n"
+ "> QTY+113:1000:PCE'DTM+2:20220503:102'\n"
+ "> QTY+113:1000:PCE'DTM+64:20220530:102'DTM+63:20220605:102'\n"
+ "> QTY+113:1000:PCE'DTM+64:20220620:102'DTM+63:20220626:102'\n"
+ "> QTY+113:1000:PCE'DTM+64:20220711:102'DTM+63:20220717:102'\n"
+ "> QTY+113:1000:PCE'DTM+64:20220801:102'DTM+63:20220807:102' GEI+3+37'\n"
+ "> \n"
+ "> NAD+ST+14::92++test' LOC+11+KOD823226::92' LOC+7+D86::92:Test' LIN+2++\n"
+ "> test H:IN'IMD+F++12::272:K\n"
+ "> RIPPRIEM'RFF+ON:EN10662318'RFF+AAN:266'DTM+171:20220309:102'\n"
+ "> RFF+AIF:265'DTM+171:20220305:102'CTA+SC+12414:test,\n"
+ "> test'COM+test.test@test.de:EM'\n"
+ "> COM+?+49-561-490-4173:TE'COM+?+49-561-490-84173:FX' QTY+83:200:PCE'\n"
+ "> QTY+70:14319:PCE'DTM+51:20100101:102'\n"
+ "> QTY+72:0:PCE'DTM+52:20100101:102' QTY+194:200:PCE'DTM+50:20220126:102'\n"
+ "> RFF+AAU:2146871'DTM+171:20220121:102'\n"
+ "> QTY+194:200:PCE'DTM+50:20211210:102'RFF+AAU:2146914'DTM+171:20211209:102' QTY+194:200:PCE'DTM+50:20211129:102'RFF+AAU:2139927'DTM+171:20211124:102'SCC+24'\n"
+ "> QTY+113:200:PCE'DTM+2:20220503:102'\n"
+ "> QTY+113:200:PCE'DTM+64:20220606:102'DTM+63:20220612:102'\n"
+ "> QTY+113:200:PCE'DTM+64:20220718:102'DTM+63:20220724:102'\n"
+ "> QTY+113:200:PCE'DTM+64:20220829:102'DTM+63:20220904:102'\n"
+ "> QTY+113:200:PCE'DTM+64:20221010:102'DTM+63:20221016:102'\n"
+ "> \n"
+ "> UNT+142+1'UNZ+1+2756'";
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