import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(.+)(\\[ *)(\\d+)(\\] *)(.+ )(.+)$";
final String string = "DIN[ 1] ON DCS_SpeedSafe\n"
+ "DIN[ 201] ON *IMSTP\n"
+ "DIN[ 202] ON *HOLD\n"
+ "DIN[ 203] ON SFSPD\n"
+ "DIN[ 204] OFF CSTOPI\n"
+ "DIN[ 205] OFF FAULT RESET\n"
+ "DIN[ 206] OFF START\n"
+ "DIN[ 207] OFF HOME\n"
+ "DIN[ 208] ON ENBL\n"
+ "DIN[ 209] OFF RSR1\n"
+ "DIN[ 210] OFF RSR2\n"
+ "DIN[ 211] OFF RSR3\n"
+ "DIN[ 212] OFF RSR4\n"
+ "DIN[ 213] OFF RSR5\n"
+ "DIN[ 214] OFF RSR6\n"
+ "DIN[ 215] OFF RSR7\n"
+ "DIN[ 216] OFF RSR8\n"
+ "DIN[ 219] OFF SempreOff\n"
+ "DIN[ 220] OFF Abilita Ciclo\n"
+ "DIN[ 221] OFF Abilitazione generale\n"
+ "DIN[ 225] OFF CaricoOk\n"
+ "DIN[ 226] OFF CarFuoriIngombro\n"
+ "DIN[ 227] OFF TraslOK\n"
+ "DIN[ 228] OFF TraslFuoriIngombro\n"
+ "DIN[ 229] OFF PezPresNastroCarico\n"
+ "DIN[ 230] OFF FtControlloSagoma1\n"
+ "DIN[ 231] OFF FtControlloSagoma2\n"
+ "DIN[ 232] OFF TipSagoma1\n"
+ "DIN[ 233] OFF TipSagoma2\n"
+ "DIN[ 234] OFF TavRqDepo1\n"
+ "DIN[ 235] OFF TavRqScambio1\n"
+ "DIN[ 236] OFF TavRqPrel1\n"
+ "DIN[ 237] OFF TavPezScarto\n"
+ "DIN[ 238] OFF TavFuoriImgombro\n"
+ "DIN[ 239] OFF TavInclusa\n"
+ "DIN[ 240] OFF PrelievoNastroCarico\n"
+ "DIN[ 241] OFF PrelievoTavola\n"
+ "DIN[ 242] OFF ScartoCtrlUsura\n"
+ "DIN[ 243] OFF TavPezPres1\n"
+ "DIN[ 244] OFF TavPezPres2\n"
+ "DIN[ 245] OFF Ctrl Ft Enable\n"
+ "DIN[ 246] OFF TavRqDepo2\n"
+ "DIN[ 247] OFF TavRqScambio2\n"
+ "DIN[ 248] OFF TavRqPrel2\n"
+ "DIN[ 249] OFF NastroAbil\n"
+ "DIN[ 250] OFF Carico2Ok\n"
+ "DIN[ 251] OFF Car2FuoriIng\n"
+ "DIN[ 252] OFF PezPresNastro2\n"
+ "DIN[ 253] OFF Nastro2Abil\n"
+ "DIN[ 254] OFF PriorAltern/Nas2\n"
+ "DIN[ 255] OFF DemoOffsEsegui\n"
+ "DIN[ 256] OFF DemoOffsAddOffs\n"
+ "DIN[ 257] OFF EnbCtrlSmussi\n"
+ "DIN[ 258] OFF CtrlSmussiRisKo\n"
+ "DIN[ 259] OFF CtrlSmussiRisOk\n"
+ "DIN[ 260] OFF EnbCtrlColore\n"
+ "DIN[ 261] OFF CtrlColoreRisKo\n"
+ "DIN[ 262] OFF CtrlColoreRisOk\n"
+ "DIN[ 263] OFF CassScartoPres\n"
+ "DIN[ 265] OFF Prel1_StopRq\n"
+ "DIN[ 266] OFF Prel2_StopRq\n"
+ "DIN[ 267] OFF DepoTrasl_StopRq\n"
+ "DIN[ 268] OFF DepoTav1_StopRq\n"
+ "DIN[ 269] OFF DepoTav2_StopRq\n"
+ "DIN[ 270] OFF CtrlSmus_StopRq\n"
+ "DIN[ 273] OFF Magnet_A\n"
+ "DIN[ 274] OFF Smagnet_A\n"
+ "DIN[ 275] OFF Magnet_B\n"
+ "DIN[ 276] OFF Smagnet_B\n"
+ "DIN[ 277] OFF SoffioA\n"
+ "DIN[ 278] OFF SoffioB\n"
+ "DOUT[ 201] OFF CMDENBL\n"
+ "DOUT[ 202] ON SYSRDY\n"
+ "DOUT[ 203] OFF PROGRUN\n"
+ "DOUT[ 204] OFF PAUSED\n"
+ "DOUT[ 205] OFF HELD\n"
+ "DOUT[ 206] OFF FAULT\n"
+ "DOUT[ 207] ON ATPERCH\n"
+ "DOUT[ 208] OFF TPENBL\n"
+ "DOUT[ 209] OFF BATALM\n"
+ "DOUT[ 210] OFF BUSY\n"
+ "DOUT[ 211] OFF ACK1\n"
+ "DOUT[ 212] OFF ACK2\n"
+ "DOUT[ 213] OFF ACK3\n"
+ "DOUT[ 214] OFF ACK4\n"
+ "DOUT[ 215] OFF ACK5\n"
+ "DOUT[ 216] OFF ACK6\n"
+ "DOUT[ 217] OFF NumProgErr\n"
+ "DOUT[ 218] ON InHome\n"
+ "DOUT[ 219] OFF InManut\n"
+ "DOUT[ 220] OFF InRiscaldamento\n"
+ "DOUT[ 221] OFF InPulizPz\n"
+ "DOUT[ 222] OFF InCheckFt\n"
+ "DOUT[ 223] OFF SegnaliSimulati\n"
+ "DOUT[ 224] OFF Modo T1 Attivo\n"
+ "DOUT[ 233] OFF CicloRiposo(Tappa0)\n"
+ "DOUT[ 234] OFF PezPrelNastroCarico\n"
+ "DOUT[ 235] OFF CicloNastroCarico\n"
+ "DOUT[ 236] ON NastroCaricoFuoriIng\n"
+ "DOUT[ 237] OFF PezDepTrasl\n"
+ "DOUT[ 238] OFF CicloTrasl\n"
+ "DOUT[ 239] ON TraslFuoriIng\n"
+ "DOUT[ 240] OFF PezScarto\n"
+ "DOUT[ 241] OFF PzNoPrelNastroCarico\n"
+ "DOUT[ 242] OFF TavPezDep1\n"
+ "DOUT[ 243] OFF TavPezScambio1 \n"
+ "DOUT[ 244] OFF TavPezPrel1\n"
+ "DOUT[ 245] ON TavFuoriIng\n"
+ "DOUT[ 246] OFF CicloTav\n"
+ "DOUT[ 247] OFF TavPezNoPrel1\n"
+ "DOUT[ 248] OFF TavPezNoPrel2\n"
+ "DOUT[ 249] OFF TavPezDep2\n"
+ "DOUT[ 250] OFF TavPezScambio2\n"
+ "DOUT[ 251] OFF TavPezPrel2\n"
+ "DOUT[ 252] OFF PezPrelNastro2\n"
+ "DOUT[ 253] OFF CicloNastro2\n"
+ "DOUT[ 254] OFF FuoriIngNastro2\n"
+ "DOUT[ 255] OFF PezNoPrelNas2\n"
+ "DOUT[ 256] OFF DemoOfsPosOk\n"
+ "DOUT[ 257] OFF PosCtrlSmussi\n"
+ "DOUT[ 258] OFF PosCtrlColore\n"
+ "DOUT[ 259] ON FuoriIngCtrlSmus\n"
+ "DOUT[ 260] ON FuoriIngProfil\n"
+ "DOUT[ 267] OFF MagneteAAttira\n"
+ "DOUT[ 268] OFF MagnateARilascia\n"
+ "DOUT[ 269] OFF MagneteBAttira\n"
+ "DOUT[ 270] OFF MagneteBRilascia\n"
+ "DOUT[ 273] OFF Prel1_Stop\n"
+ "DOUT[ 274] OFF Prel2_Stop\n"
+ "DOUT[ 275] OFF DepoTrasl_Stop\n"
+ "DOUT[ 276] OFF DepoTav1_Stop\n"
+ "DOUT[ 277] OFF DepoTav2_Stop\n"
+ "DOUT[ 278] OFF CtrlSmus_Stop\n"
+ "GIN[ 1] 0 NumProg\n"
+ "GIN[ 2] 0 VelCiclo\n"
+ "GIN[ 3] 0 CodPastiglia\n"
+ "GIN[ 4] 0 Offset X\n"
+ "GIN[ 5] 0 Offset Y\n"
+ "GIN[ 6] 0 Offset Z\n"
+ "GIN[ 7] 0 Offset rotaz X\n"
+ "GIN[ 8] 0 Offset rotaz Y\n"
+ "GIN[ 9] 0 Offset rotaz Z\n"
+ "GIN[ 15] 0 CmdMan\n"
+ "GOUT[ 1] 0 NumeroProgAttivo\n"
+ "GOUT[ 2] 0 ComandoEseguito\n"
+ "GOUT[ 3] 0 DemoOffsNumPos\n"
+ "UI[ 1] ON *IMSTP\n"
+ "UI[ 2] ON *Hold\n"
+ "UI[ 3] ON *SFSPD\n"
+ "UI[ 4] OFF Cycle stop\n"
+ "UI[ 5] OFF Fault reset\n"
+ "UI[ 6] OFF Start\n"
+ "UI[ 7] OFF Home\n"
+ "UI[ 8] ON Enable\n"
+ "UI[ 9] OFF Rsr0001\n"
+ "UI[ 10] OFF RSR2/PNS2/STYLE2\n"
+ "UI[ 11] OFF RSR3/PNS3/STYLE3\n"
+ "UI[ 12] OFF RSR4/PNS4/STYLE4\n"
+ "UI[ 13] OFF RSR5/PNS5/STYLE5\n"
+ "UI[ 14] OFF RSR6/PNS6/STYLE6\n"
+ "UI[ 15] OFF RSR7/PNS7/STYLE7\n"
+ "UI[ 16] OFF RSR8/PNS8/STYLE8\n"
+ "UO[ 1] OFF Cmd enabled\n"
+ "UO[ 2] ON System ready\n"
+ "UO[ 3] OFF Prg running\n"
+ "UO[ 4] OFF Prg paused\n"
+ "UO[ 5] OFF Motion held\n"
+ "UO[ 6] OFF Fault\n"
+ "UO[ 7] ON At perch\n"
+ "UO[ 8] OFF TP enabled\n"
+ "UO[ 9] OFF Batt alarm\n"
+ "UO[ 10] OFF Busy\n"
+ "UO[ 11] OFF ACK1/SNO1\n"
+ "UO[ 12] OFF ACK2/SNO2\n"
+ "UO[ 13] OFF ACK3/SNO3\n"
+ "UO[ 14] OFF ACK4/SNO4\n"
+ "UO[ 15] OFF ACK5/SNO5\n"
+ "UO[ 16] OFF ACK6/SNO6\n"
+ "SI[ 1] OFF Fault reset\n"
+ "SI[ 2] ON Remote\n"
+ "SI[ 3] ON Hold\n"
+ "SI[ 4] OFF User PB#1\n"
+ "SI[ 5] OFF User PB#2\n"
+ "SI[ 6] OFF Cycle start\n"
+ "SI[ 8] ON CE/CR Select b0\n"
+ "SI[ 9] ON CE/CR Select b1\n"
+ "SO[ 1] OFF Cycle start\n"
+ "SO[ 2] OFF Hold\n"
+ "SO[ 3] OFF Fault LED\n"
+ "SO[ 4] OFF Batt alarm\n"
+ "SO[ 5] OFF User LED#1\n"
+ "SO[ 6] OFF User LED#2\n"
+ "SO[ 7] OFF TP enabled\n"
+ "RO[ 1] OFF SoffioA\n"
+ "RO[ 2] OFF SoffioB\n"
+ "FLG[ 1] OFF DCS_SpeedSafeMem\n"
+ "FLG[ 2] OFF Simula\n"
+ "FLG[ 3] OFF RemoteOverDsb\n";
final String subst = "\\1 \\t \\3 \\t \\6";
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