# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(?<=OF 8 )(\S+)"
test_str = ("07/26/2021 09:41:00 => [Debug] Execution started for file: For_ReadingText_PDF\n"
"07/26/2021 09:41:01 => [Info] DataScraping_From_Drawing_PDF execution started\n"
"07/26/2021 09:41:02 => [Debug] 4 3 2 1\n"
"BILL OF MATERIALS REV REL NO REVISION DWN CKD APVD DATE\n"
"ITEM QTY DESCRIPTION PART NUMBER REV 0 X RELEASED TO PROTOTYPE PX375 X X 12OCT18\n"
"1 1 BRACKET; AIR CLEANER A061P694-1 0\n"
"2 2 GUSSET; AIR CLEANER A061P694-2 0\n"
"3 1 GUSSET; AIR CLEANER A061P694-3 0\n"
"4 2 GUSSET; AIR CLEANER A061P694-4 0 NOTES:\n"
"5 1 GUSSET; AIR CLEANER A061P694-5 0 1. STEEL STAMP COUNTRY OF ORIGIN,\n"
"PART NUMBER, AND REVISION LEVEL PER\n"
"D 6 1 GUSSET; AIR CLEANER A061P694-6 0 CPP STD. 17,012. D\n"
"2. DEBUR & BREAK ALL SHARP CORNERS.\n"
"3. FINISH TO BE LAVA BLACK PER CPP STD. 18,008.\n"
"4. OPTIONAL PAINT: RAL 9005.\n"
"A. MATERIAL: CPP STD 12,002\n"
"5. WELD STANDARD:\n"
"A. ALL WELD SYMBOL SHALL CONFORM TO AWS A2.4.\n"
"B. WELD DISCONTINUTIES SHALL NOT EXCEED ISO 5817\n"
"BOTH SIDES QUALITY LEVEL B.\n"
"1.3 C. WELD FILLER MATERIAL MUST CONFORM TO AWS A5.18 ER70S-6.\n"
"DETAIL B\n"
"SCALE .375\n\n"
"C C\n"
"2 2 PLACES 5\n"
"2X 30.2 86.6 233.7\n"
"[1.19] [3.41] [9.20] 4\n\n"
"6\n\n"
"B B\n"
"4 CORNERS\n"
"1 -2 2\n"
"49.5 1-2 2X 362\n"
"[1.95] [14.25]\n"
"82.6 1\n"
"2X 108 [3.25]\n"
"[4.25] 1.5 1-2\n"
"42.7 203.5 1.6 61.2 1-2\n"
"[1.68] [8.01] [2.41] 133.4\n"
"57.2 [5.25]\n"
"A [2.25] 2 PLACES 1-3 3 A\n"
"2 PLACES 3 SEE DETAIL B DIMENSIONS ARE IN: MILLIMETERS CMI DATA CLASSIFICATION\n"
"[ ] ARE IN: INCHES DO NOT SCALE PRINT Cummins Confidential Cummins Inc.\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .150 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 1 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. ALL BENDS TO BE 90$ UNLESS OTHERWISE STATED.\n"
"[4.00] [15.82]\n"
"2. BEND RADII TO EQUAL MATERIAL THICKNESS.\n"
"101.6 401.8 3. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"4. OPTIONAL MATERIAL THICKNESS : 0.250 INCH.\n"
"D 4X n11.4 D\n"
"[.45]\n"
"203.2 503.4\n"
"0 [8.00] [19.82]\n"
"[0] 36.6\n"
"2X 50.8 [1.44]\n"
"[2.00] R6.4 TYP\n"
"2X 100.8 [.25]\n"
"[3.97]\n"
"112.8\n"
"[4.44] 0 [.55] [15.26]\n"
"[0] [6.53] [13.44]\n"
"2X 165.9 341.4 387.6\n"
"2X 14\n"
"(203 )\n"
"C VIEW A [7.99] C\n"
"A\n"
"(600.7 )\n"
"[23.65]\n\n"
"210$ 426.2\n"
"[16.78]\n"
"2X 370.2\n"
"[14.58]\n"
"304.8 4X n10.7\n"
"B [12.00] [.42] B\n"
"2X n6.4\n"
"[.25]\n"
"2X 167\n"
"127 [6.58]\n"
"[5.00]\n"
"76.2\n"
"[3.00]\n"
"0 0\n"
"[0] 2X n13 [0]\n"
"0 [.91] [11.06] [14.93] [.51] 69.1\n"
"[0] [2.72]\n"
"2X 23.1 2X 280.9 2X 379.2\n"
"82.6\n"
"A [3.25] A\n"
"[5.69] [5.03] [2.53] [1.94] [0]\n"
"DIMENSIONS ARE IN: MILLIMETERS CMI DATA CLASSIFICATION\n"
"[ ] ARE IN: INCHES DO NOT SCALE PRINT Cummins Confidential Cummins Inc.\n"
"6.4 THICK 144.5 127.8 64.3 49.3 0 DRAWING TOLERANCES APPLY TO PRIMARY\n"
"[.250] DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .250 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 2 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"2. OPTIONAL MATERIAL THICKNESS : 0.250 INCH\n\n"
"D D\n\n"
"C C\n\n"
"[14.00] [.75]\n"
"355.6 19.1\n"
"6.4 THICK\n"
"[.250]\n"
"0\n"
"12.7 [0]\n"
"[.50] 19.1\n"
"B R6.4 TYP [.75] B\n"
"[.25]\n"
"82.6\n"
"[3.25]\n"
"[2.50] 0\n"
"63.5 [0]\n\n"
"A A\n"
"DIMENSIONS ARE IN: MILLIMETERS DO NOT SCALE PRINT CMI DATA CLASSIFICATION Cummins Inc.\n"
"[ ] ARE IN: INCHES Cummins Confidential\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .250 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 4 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"2. OPTIONAL MATERIAL THICKNESS : 0.250 INCH.\n\n"
"D D\n\n"
"[.50] [0]\n"
"C 12.7 0 6.4 THICK C\n"
"[.250]\n"
"127\n"
"[5.00]\n\n"
"R6.4 TYP\n"
"[.25]\n\n"
"63.5\n"
"[2.50]\n\n"
"B B\n\n"
"19.1\n"
"[.75]\n"
"0\n"
"[0]\n"
"49.5 [.75]\n"
"[1.95] 19.1\n\n"
"A A\n"
"DIMENSIONS ARE IN: MILLIMETERS DO NOT SCALE PRINT CMI DATA CLASSIFICATION Cummins Inc.\n"
"[ ] ARE IN: INCHES Cummins Confidential\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .250 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 5 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"2. OPTIONAL MATERIAL THICKNESS : 0.250 INCH\n\n"
"D D\n\n"
"C C\n\n"
"R6.4\n"
"[.25]\n\n"
"B 25.4 B\n"
"[1.00]\n\n"
"108 6.4 THICK\n"
"[4.25] [.250]\n\n"
"A A\n"
"DIMENSIONS ARE IN: MILLIMETERS DO NOT SCALE PRINT CMI DATA CLASSIFICATION Cummins Inc.\n"
"[ ] ARE IN: INCHES Cummins Confidential\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .250 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 6 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"2. OPTIONAL MATERIAL THICKNESS : 0.250 INCH\n\n"
"D D\n\n"
"C C\n\n"
"B B\n"
"2X R6.4\n"
"[.25]\n\n"
"25.4\n"
"[1.00]\n\n"
"387.6\n"
"[15.26]\n"
"6.4 THICK\n"
"[.250]\n\n"
"A A\n"
"DIMENSIONS ARE IN: MILLIMETERS DO NOT SCALE PRINT CMI DATA CLASSIFICATION Cummins Inc.\n"
"[ ] ARE IN: INCHES Cummins Confidential\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .250 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 7 OF 8 A061P694 0\n"
"4 3 2 14 3 2 1\n"
"NOTES:\n"
"1. MATERIAL: CPP STD 11,101\n"
"A. OPTIONAL MATERIAL: EN10025-2 Grade S355JR\n"
"2. OPTIONAL MATERIAL THICKNESS : 0.250 INCH.\n\n"
"D D\n\n"
"C C\n"
"2X R6.4 12.7\n"
"[.25] [.50]\n\n"
"49.5\n"
"[1.95]\n\n"
"19.1\n"
"B [.75] B\n\n"
"42.5 .38 X 45$ CHAMFER 6.4 THICK\n"
"[1.68] [.250]\n\n"
"A A\n"
"DIMENSIONS ARE IN: MILLIMETERS DO NOT SCALE PRINT CMI DATA CLASSIFICATION Cummins Inc.\n"
"[ ] ARE IN: INCHES Cummins Confidential\n"
"DRAWING TOLERANCES APPLY TO PRIMARY\n"
"DIMENSIONS UNLESS OTHERWISE SPECIFIED SCALE .188 DWN B.SARKAR PX375 ITEM NAME\n\n"
"X: # 1 IN OR 4 mm CKD X R BRACKET, AIR CLEANER\n"
"X.X: # .1 IN OR 0.7 mm\n"
"X.XX: # .030 IN OR 0.25 mm APVD X\n"
"X.XXX: # .010 IN OR 0.075 mm REAR MOUNT\n"
"ANGULAR TOLERANCE: # 1$ DATE 12OCT18\n"
"CONFIDENTIAL AND PROPRIETARY AND SHALL NOT BE DISCLOSED TO OTHERS MUST CONFORM DWG\n"
"THIS DOCUMENT (AND THE INFORMATION SHOWN THEREON) IS FOR INTERPRETATION OF SIZE CAD SHEET ITEM NUMBER REV\n"
"IN HARD COPY OR ELECTRONIC FORM, REPRODUCED BY ANY MEANS, OR DIMENSIONING AND TOLERANCING,\n"
"USED FOR ANY PURPOSE WITHOUT WRITTEN CONSENT OF CUMMINS INC. SEE ASME Y14.5-2009 TO CES 10903 C 8 OF 8 A061P694 0\n"
"4 3 2 1\n"
"07/26/2021 09:41:02 => [Info] DataScraping_From_Drawing_PDF execution ended in: 00:00:01\n")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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