import re
regex = re.compile(r"'Target.*Write MBps\n(?:[\w; %\.]+,){9}([\w; %\.]+)")
test_str = ("'Test Type,Test Description,,,,,,,,,,\n"
"0,,,,,,,,,,,\n"
"'Version,,,,,,,,,,,\n"
"2006.07.27,,,,,,,,,,,\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:40:56:182,,,,,,,,,,,\n"
"'Test Type,Test Description,,,,,,,,,,\n"
"0,,,,,,,,,,,\n"
"'Version,,,,,,,,,,,\n"
"2006.07.27,,,,,,,,,,,\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:41:32:625,,,,,,,,,,,\n"
"'Test Type,Test Description,,,,,,,,,,\n"
"0,,,,,,,,,,,\n"
"'Version,,,,,,,,,,,\n"
"2006.07.27,,,,,,,,,,,\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:41:53:145,,,,,,,,,,,\n"
"'Test Type,Test Description,,,,,,,,,,\n"
"0,,,,,,,,,,,\n"
"'Version,,,,,,,,,,,\n"
"2006.07.27,,,,,,,,,,,\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:43:53:456,,,,,,,,,,,\n"
"'Access specifications,,,,,,,,,,,\n"
"'Access specification name,default assignment,,,,,,,,,,\n"
"512B; 100% Read; 0% random,0,,,,,,,,,,\n"
"'size,% of size,% reads,% random,delay,burst,align,reply,,,,\n"
"209715712,100,100,0,0,1,0,0,,,,\n"
"'End access specifications,,,,,,,,,,,\n"
"'Results,,,,,,,,,,,\n"
"'Target Type,Target Name,Access Specification Name,# Managers,# Workers,# Disks,IOps,Read IOps,Write IOps,MBps,Read MBps,Write MBps\n"
"ALL,All,512B; 100% Read; 0% random,1,1,1,0.571416,0.571416,0,114.283511,114.283511,0\n"
"MANAGER,A01030016NB,512B; 100% Read; 0% random,,1,1,0.571416,0.571416,0,114.283511,114.283511,0\n"
"PROCESSOR,CPU 0,,,,,,,,,,\n"
"PROCESSOR,CPU 1,,,,,,,,,,\n"
"PROCESSOR,CPU 2,,,,,,,,,,\n"
"PROCESSOR,CPU 3,,,,,,,,,,\n"
"WORKER,Worker 1,512B; 100% Read; 0% random,,,1,0.571416,0.571416,0,114.283511,114.283511,0\n"
"DISK,F:新增磁碟區,,,,,0.571416,0.571416,0,114.283511,114.283511,0\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:44:21:973,,,,,,,,,,,\n"
"'Test Type,Test Description,,,,,,,,,,\n"
"0,,,,,,,,,,,\n"
"'Version,,,,,,,,,,,\n"
"2006.07.27,,,,,,,,,,,\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:45:17:785,,,,,,,,,,,\n"
"'Access specifications,,,,,,,,,,,\n"
"'Access specification name,default assignment,,,,,,,,,,\n"
"512B; 100% Read; 0% random,0,,,,,,,,,,\n"
"'size,% of size,% reads,% random,delay,burst,align,reply,,,,\n"
"102912,100,100,0,0,1,0,0,,,,\n"
"'End access specifications,,,,,,,,,,,\n"
"'Results,,,,,,,,,,,\n"
"'Target Type,Target Name,Access Specification Name,# Managers,# Workers,# Disks,IOps,Read IOps,Write IOps,MBps,Read MBps,Write MBps\n"
"ALL,All,512B; 100% Read; 0% random,1,1,1,1216.250748,1216.250748,0,119.36836,119.36836,0\n"
"MANAGER,A01030016NB,512B; 100% Read; 0% random,,1,1,1216.250748,1216.250748,0,119.36836,119.36836,0\n"
"PROCESSOR,CPU 0,,,,,,,,,,\n"
"PROCESSOR,CPU 1,,,,,,,,,,\n"
"PROCESSOR,CPU 2,,,,,,,,,,\n"
"PROCESSOR,CPU 3,,,,,,,,,,\n"
"WORKER,Worker 1,512B; 100% Read; 0% random,,,1,1216.250748,1216.250748,0,119.36836,119.36836,0\n"
"DISK,F:新增磁碟區,,,,,1216.250748,1216.250748,0,119.36836,119.36836,0\n"
"'Time Stamp,,,,,,,,,,,\n"
"2016-01-06 19:45:30:673,,,,,,,,,,,")
match = regex.search(test_str)
if match:
print(f"Match 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