import re
regex = re.compile(r"Vector 1 is.*?\n201[56]-..-..\ (?P<start_ts>[0-9:,]*)\ INFO RequestProcessor-. xfd.xfdservice - Dispensing pattern for tcs:. recipe:. swathe:0.*?\n201[56]-..-..\ (?P<end_ts>[0-9:,]*)\ INFO RequestProcessor-. xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n201[56]-..-..\ (?P<start2_ts>[0-9:,]*)\ INFO RequestProcessor-. xfd.xfdservice - Dispensing pattern for tcs:. recipe:. swathe:1.*?\n201[56]-..-..\ (?P<fake_ts>[0-9:,]*)\ INFO RequestProcessor-. xfd.XPM - XaarCmdAPI: Calling bXaarScorpionEnablePrintMode...call success\n201[56]-..-..\ (?P<end2_ts>[0-9:,]*)\ INFO RequestProcessor-. xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n", flags=re.DOTALL)
test_str = ("2015-09-02 09:59:09,355 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSelectSEPD...call success\n"
"2015-09-02 09:59:09,359 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionReloadAppXMLFileParameters...call success\n"
"2015-09-02 09:59:09,362 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling XaarScorpionGetMaxHeadBlocksXPM...call success\n"
"2015-09-02 09:59:09,372 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetupImageDataParametersUpdated...call success\n"
"2015-09-02 09:59:09,384 INFO RequestProcessor-5 xfd.DispenseHeadXpm - Head 1014349 row 1 had 0 drops, row 2 had 28665 drops after rows were swapped.\n"
"2015-09-02 09:59:09,399 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetPrintDataUpdated...call success\n"
"2015-09-02 09:59:09,399 INFO RequestProcessor-5 xfd.printmanagerXPM - Loading swathe 1 of 1\n"
"2015-09-02 09:59:09,399 INFO RequestProcessor-5 xfd.DispenseHeadXpm - loadBitmap: = 128, colCount = 741, totalSize = 94848\n"
"2015-09-02 09:59:09,400 INFO RequestProcessor-5 xfd.DispenseHeadXpm - XPMSEPDSetup: 3\n"
"2015-09-02 09:59:09,406 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSelectSEPD...call success\n"
"2015-09-02 09:59:09,410 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionReloadAppXMLFileParameters...call success\n"
"2015-09-02 09:59:09,414 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling XaarScorpionGetMaxHeadBlocksXPM...call success\n"
"2015-09-02 09:59:09,425 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetupImageDataParametersUpdated...call success\n"
"2015-09-02 09:59:09,437 INFO RequestProcessor-5 xfd.DispenseHeadXpm - Head 1014349 row 1 had 0 drops, row 2 had 28536 drops after rows were swapped.\n"
"2015-09-02 09:59:09,454 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetPrintDataUpdated...call success\n"
"2015-09-02 09:59:09,488 INFO RequestProcessor-5 xfd.xfdservice - getDropRecipeSwatheVectors 0 rec:0\n"
"2015-09-02 09:59:09,489 INFO RequestProcessor-5 xfd.xfdservice - Vector 0 is -13.017231449999999, -4.97406405 to 17.727038825, -4.97406405\n"
"2015-09-02 09:59:09,489 INFO RequestProcessor-5 xfd.xfdservice - Vector 1 is 18.057147025, -4.97406405 to -12.704761775000001, -4.97406405\n"
"2015-09-02 09:59:09,496 INFO RequestProcessor-5 xfd.xfdservice - Dispensing pattern for tcs:0 recipe:0 swathe:0\n"
"2015-09-02 09:59:09,498 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:09,533 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionEnablePrintMode...call success\n"
"2015-09-02 09:59:09,533 INFO RequestProcessor-5 xfd.DispenseHeadXpm - UseXPMComboFunctions: true\n"
"2015-09-02 09:59:09,551 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpion_loadControlBlock_Combo...call success\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - Setting up DDFS. DDFSValue = 1341370\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - swathe.internalEncoderFrequency_Hz = 28347.04149014728\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - DDFSMultiplier = 0.3356\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - cycleMode = 3\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - encoderDivide = 47\n"
"2015-09-02 09:59:09,552 INFO RequestProcessor-5 xfd.printmanagerXPM - ...DDFSValue (multiplied together) = 1341370\n"
"2015-09-02 09:59:09,557 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetDDFSValueSEPD...call success\n"
"2015-09-02 09:59:09,557 INFO RequestProcessor-5 xfd.printmanagerXPM - Using internal encoder frequency of 28347.04149014728 Hz\n"
"2015-09-02 09:59:09,557 INFO RequestProcessor-5 xfd.printmanagerXPM - SetDDFSEnable = 1\n"
"2015-09-02 09:59:09,561 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetDDFSEnable...call success\n"
"2015-09-02 09:59:09,561 INFO RequestProcessor-5 xfd.printmanagerXPM - SetPDInternal = 0\n"
"2015-09-02 09:59:09,564 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetPDInternalSEPD...call success\n"
"2015-09-02 09:59:09,566 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:09,568 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:09,573 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionEnablePrintMode...call success\n"
"2015-09-02 09:59:09,575 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:10,035 INFO RequestProcessor-5 xfd.xfdservice - Dispensing pattern for tcs:0 recipe:0 swathe:1\n"
"2015-09-02 09:59:10,038 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:10,071 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionEnablePrintMode...call success\n"
"2015-09-02 09:59:10,071 INFO RequestProcessor-5 xfd.DispenseHeadXpm - UseXPMComboFunctions: true\n"
"2015-09-02 09:59:10,098 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpion_loadControlBlock_Combo...call success\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - Setting up DDFS. DDFSValue = 1341370\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - swathe.internalEncoderFrequency_Hz = 28347.04149014728\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - DDFSMultiplier = 0.3356\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - cycleMode = 3\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - encoderDivide = 47\n"
"2015-09-02 09:59:10,099 INFO RequestProcessor-5 xfd.printmanagerXPM - ...DDFSValue (multiplied together) = 1341370\n"
"2015-09-02 09:59:10,104 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetDDFSValueSEPD...call success\n"
"2015-09-02 09:59:10,104 INFO RequestProcessor-5 xfd.printmanagerXPM - Using internal encoder frequency of 28347.04149014728 Hz\n"
"2015-09-02 09:59:10,104 INFO RequestProcessor-5 xfd.printmanagerXPM - SetDDFSEnable = 1\n"
"2015-09-02 09:59:10,109 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetDDFSEnable...call success\n"
"2015-09-02 09:59:10,109 INFO RequestProcessor-5 xfd.printmanagerXPM - SetPDInternal = 0\n"
"2015-09-02 09:59:10,112 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetPDInternalSEPD...call success\n"
"2015-09-02 09:59:10,114 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:10,116 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 09:59:10,120 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionEnablePrintMode...call success\n"
"2015-09-02 09:59:10,122 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionXUSBBusy...call success\n"
"2015-09-02 10:00:05,341 INFO RequestProcessor-5 xfd.xfdservice - setDenseDropRecipes 0 count:0\n"
"2015-09-02 10:00:05,342 INFO RequestProcessor-5 xfd.xfdservice - Drop patterns loaded and ready for dispense.\n"
"2015-09-02 10:00:05,403 WARN RequestProcessor-5 xfd.xfdservice - No fluidType Specified, using first headgroup\n"
"2015-09-02 10:00:05,403 INFO RequestProcessor-5 xfd.xfdservice - Dispensing with headGroup 0\n"
"2015-09-02 10:00:05,415 INFO RequestProcessor-5 xfd.xfdservice - Successfully generated 2 swathes for pattern.\n"
"2015-09-02 10:00:05,415 INFO RequestProcessor-5 xfd.printmanagerXPM - Loading swathe 1 of 1\n"
"2015-09-02 10:00:05,416 INFO RequestProcessor-5 xfd.DispenseHeadXpm - loadBitmap: = 128, colCount = 741, totalSize = 94848\n"
"2015-09-02 10:00:05,416 INFO RequestProcessor-5 xfd.DispenseHeadXpm - XPMSEPDSetup: 3\n"
"2015-09-02 10:00:05,421 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSelectSEPD...call success\n"
"2015-09-02 10:00:05,424 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionReloadAppXMLFileParameters...call success\n"
"2015-09-02 10:00:05,427 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling XaarScorpionGetMaxHeadBlocksXPM...call success\n"
"2015-09-02 10:00:05,436 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetupImageDataParametersUpdated...call success\n"
"2015-09-02 10:00:05,447 INFO RequestProcessor-5 xfd.DispenseHeadXpm - Head 1014349 row 1 had 8329 drops, row 2 had 8085 drops after rows were swapped.\n"
"2015-09-02 10:00:05,465 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetPrintDataUpdated...call success\n"
"2015-09-02 10:00:05,465 INFO RequestProcessor-5 xfd.printmanagerXPM - Loading swathe 1 of 1\n"
"2015-09-02 10:00:05,465 INFO RequestProcessor-5 xfd.DispenseHeadXpm - loadBitmap: = 128, colCount = 741, totalSize = 94848\n"
"2015-09-02 10:00:05,466 INFO RequestProcessor-5 xfd.DispenseHeadXpm - XPMSEPDSetup: 3\n"
"2015-09-02 10:00:05,469 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSelectSEPD...call success\n"
"2015-09-02 10:00:05,472 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionReloadAppXMLFileParameters...call success\n"
"2015-09-02 10:00:05,475 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling XaarScorpionGetMaxHeadBlocksXPM...call success\n"
"2015-09-02 10:00:05,484 INFO RequestProcessor-5 xfd.XPM - XaarCmdAPI: Calling bXaarScorpionSetupImageDataParametersUpdated...call success\n"
"2015-09-02 10:00:05,494 INFO RequestProcessor-5 xfd.DispenseHeadXpm - Head 1014349 row 1 had 8085 drops, row 2 had 8085 drops after rows were swapped.")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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 Python, please visit: https://docs.python.org/3/library/re.html