import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Device Tag name: [^ ]+\\s+Block Tag Name: [^ ]+(?:\\n(?!\\s+Completed Block Parameter Uploading).*)+\\s+WARNING:(.*(?:\\n.*))\\s+Completed Block Parameter Uploading\\.";
final String string = "Device Tag name: 002LT002 Block Tag name: TRANSDUCE_T03-01(TRANSDUCER_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: 002LIA002_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ "WARNING:Invalid Parameter Value of Block ID (AI_01) and Parameter Name (XD_SCALE.DECIMAL) (This parameter is a drawing setting item). Data Value=Actual Device:0, Setting Data:2\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (CUSTOM_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (CUSTOM_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (CUSTOM_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002LT002 Block Tag name: (CUSTOM_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: RESOURCE_R01-02(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: TRANSDUCE_T01-02(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: TRANSDUCE_T02-02(TRANSDUCER_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: TRANSDUCE_T03-02(TRANSDUCER_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: 002PI005_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ "WARNING:Invalid Parameter Value of Block ID (AI_01) and Parameter Name (XD_SCALE.UNITS_INDEX) (This parameter is a drawing setting item). Data Value=Actual Device:1137, Setting Data:1148\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (CUSTOM_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (CUSTOM_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (CUSTOM_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002PT005 Block Tag name: (CUSTOM_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = CUSTOM_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: RESOURCE_R01-03(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: TRANSDUCE_T01-03(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: TRANSDUCE_T02-03(TRANSDUCER_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: 002TI002_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: (AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT002 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: RESOURCE_R01-04(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: TRANSDUCE_T01-04(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: TRANSDUCE_T02-04(TRANSDUCER_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: 002TI004_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: (AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT004 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: RESOURCE_R01-05(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: TRANSDUCE_T01-05(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: TRANSDUCE_T02-05(TRANSDUCER_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: 002TIA016_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ "WARNING:Invalid Parameter Value of Block ID (AI_01) and Parameter Name (ACK_OPTION.) (This parameter is a drawing setting item). Data Value=Actual Device:00 00 , Setting Data:FF FF \n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: (AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002TT016 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: RESOURCE_R01-06(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: TRANSDUCE_T01-06(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: 001HIC001_30(AO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: (DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: (DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: (PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 001HV001 Block Tag name: (OS_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = OS_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: RESOURCE_R01-08(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: TRANSDUCE_T01-08(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DI_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DI_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DI_05)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_05\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: 002XZGV001_30(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DO_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV001 Block Tag name: (DO_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: RESOURCE_R01-09(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: TRANSDUCE_T01-09(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DI_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DI_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DI_05)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_05\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: 002XZGV004_30(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DO_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV004 Block Tag name: (DO_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: RESOURCE_R01-10(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: TRANSDUCE_T01-10(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DI_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DI_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DI_05)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_05\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: 002XZGV003_30(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DO_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XZV003 Block Tag name: (DO_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: RESOURCE_11(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: TRANSDUCER_11(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: DI01_11(DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: DI02_11(DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: 002XV006B_30(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: AI_11(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006B Block Tag name: PID_11(PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: RESOURCE_12(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: TRANSDUCER_12(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: DI01_12(DI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: DI02_12(DI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: 002XV006A_30(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: AI_12(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002XV006A Block Tag name: PID_12(PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: RESOURCE_13(RESOURCE_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = RESOURCE_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER01_13(TRANSDUCER_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER02_13(TRANSDUCER_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER03_13(TRANSDUCER_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER04_13(TRANSDUCER_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER05_13(TRANSDUCER_05)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_05\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER06_13(TRANSDUCER_06)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_06\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: TRANSDUCER07_13(TRANSDUCER_07)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = TRANSDUCER_07\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: 002FT004B_30(AI_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_2_13(AI_02)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_02\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_3_13(AI_03)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_03\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_4_13(AI_04)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_04\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_5_13(AI_05)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_05\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_6_13(AI_06)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_06\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_7_13(AI_07)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_07\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: AI_8_13(AI_08)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AI_08\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: DO_13(DO_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = DO_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: PID_13(PID_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = PID_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: ARITHMETIC_13(AR_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = AR_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: INPUT_SEL_13(IS_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = IS_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: SIGNAL_CHAR_13(SC_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = SC_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "Device Tag name: 002FT004B Block Tag name: INTEGRATOR_13(IT_01)\n"
+ " Start Block Parameter Uploading.\n"
+ " Acquire Live List.\n"
+ " Confirm Device to be loaded.\n"
+ " Initiate connecting for Application.\n"
+ " Upload Block Parameter. Block ID = IT_01\n"
+ " Disconnect\n"
+ " Completed Block Parameter Uploading.\n"
+ "End Upload Sun Dec 30 14:37:15 2018\n"
+ "---- ERROR = 0 WARNING = 3 ----";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
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