import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\\s*(?:(?:\\S\\s?)*\\s+){2}(?:L\\d+:\\s*)?| +(?= )";
final String string = "1FC8 0801 000A BTst.B #$A, D1\n"
+ "1FCC 6608 BNE.B L315\n"
+ "1FCE 0240 00FF And #$FF, D0\n"
+ "1FD2 43F8 0400 Lea.L (DispatchTab), A1\n"
+ "1FD6 E548 L315: LsL #$2, D0\n"
+ "1FD8 2388 0000 Move.L A0, $0(A1,D0.W)\n"
+ "1FDC 7000 MoveQ.L #$0, D0\n"
+ "1FDE 4E75 Rts\n"
+ "1FE0 6102 L316: Bsr.B P42\n"
+ "1FE2 60F2 Bra.B L315\n\n"
+ " P42:\n"
+ "1FE4 0240 01FF And #$1FF, D0\n"
+ "1FE8 43F8 0C00 Lea.L (ToolDispTable), A1\n"
+ "1FEC 0C40 0057 Cmp #$57, D0\n"
+ "1FF0 6212 BHI.B L318\n"
+ "1FF2 670C BEQ.B L317\n"
+ "1FF4 0C40 004F Cmp #$4F, D0\n"
+ "1FF8 6306 BLS.B L317\n"
+ "1FFA 0C40 0054 Cmp #$54, D0\n"
+ "1FFE 6604 BNE.B L318\n"
+ "2000 43F8 0400 L317: Lea.L (DispatchTab), A1\n"
+ "2004 4E75 L318: Rts\n"
+ "2006 61DC L319: Bsr.B P42\n"
+ "2008 601C Bra.B L320\n\n"
+ " P_tGetTrapAddress:\n"
+ "200A 0801 0009 BTst.B #$9, D1\n"
+ "200E 67F6 BEQ.B L319\n"
+ "2010 0240 01FF And #$1FF, D0\n"
+ "2014 43F8 0C00 Lea.L (ToolDispTable), A1\n"
+ "2018 0801 000A BTst.B #$A, D1\n"
+ "201C 6608 BNE.B L320\n"
+ "201E 0240 00FF And #$FF, D0\n"
+ "2022 43F8 0400 Lea.L (DispatchTab), A1\n"
+ "2026 E548 L320: LsL #$2, D0\n"
+ "2028 2071 0000 Move.L $0(A1,D0.W), A0\n"
+ "202C 7000 MoveQ.L #$0, D0\n"
+ "202E 4E75 Rts";
final String subst = "";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
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