import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^LIN[\\s\\S]*(?=^UNS)";
final String string = "UNB+UNOC:3+O0013001550GDID0000Z6H:14+80585:14+200218:1455+8' \n"
+ "UNH+1+ORDERS:D:96B:UN' \n"
+ "BGM+120+4016026958' \n"
+ "DTM+4:20200218:102' \n"
+ "NAD+BY+437750' \n"
+ "NAD+SU+0000080585' \n"
+ "NAD+OB+0000080585' \n"
+ "NAD+DP+4000::9++Cronus Company:Cronus GmbH & Co. KG+Musterstrasse 3+Kirchdorf++12345+DE' \n"
+ "CUX+2:EUR' \n"
+ "TOD+6++DAP' \n"
+ "LIN+00010++079790040080030:SA' \n"
+ "PIA+1+079790040080030:SA' \n"
+ "IMD+F++:::DIN 7979 D Stahl blank | 8x30 Zylin' \n"
+ "QTY+12:10,000:PCE' \n"
+ "PRI+AAA:23,56:::100:PCE' \n"
+ "SCC+1' \n"
+ "QTY+1:10,000' \n"
+ "DTM+2:20200223:102' \n"
+ "LIN+00020++079790040080040:SA' \n"
+ "PIA+1+079790040080040:SA' \n"
+ "IMD+F++:::DIN 7979 D Stahl blank | 8x40 Zylin' \n"
+ "QTY+12:10,000:PCE' \n"
+ "PRI+AAA:24,58:::100:PCE' \n"
+ "SCC+1' \n"
+ "QTY+1:10,000' \n"
+ "DTM+2:20200223:102' \n"
+ "LIN+00030++009128009060016:SA' \n"
+ "PIA+1+009128009060016:SA' \n"
+ "IMD+F++:::DIN 912 Stahl 8.8 blank | M6x16 Zyl' \n"
+ "QTY+12:100,000:PCE' \n"
+ "PRI+AAA:2,36:::100:PCE' \n"
+ "SCC+1' \n"
+ "QTY+1:100,000' \n"
+ "DTM+2:20200223:102' \n"
+ "UNS+S' \n"
+ "UNT+35+1' \n"
+ "UNZ+1+8' \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