import re
regex = re.compile(r"Tasks: (\d+) total, (\d+) running, (\d+) sleeping, (\d+) stopped, (\d+) zombie")
test_str = ("top - 11:41:04 up 21 min, 1 user, load average: 0.00, 0.01, 0.07\n"
"Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie\n"
"%Cpu(s): 4.7 us, 2.2 sy, 0.5 ni, 92.0 id, 0.3 wa, 0.0 hi, 0.3 si,\n"
"KiB Mem: 501692 total, 475348 used, 26344 free, 13032 buffers\n"
"KiB Swap: 0 total, 0 used, 0 free. 281204 cached\n\n"
" PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+\n"
" 1 root 20 0 33632 2940 1468 S 0.0 0.6 0:01.87\n"
" 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01\n"
"...\n"
"17836 www-data 20 0 287448 6708 2424 S 0.0 1.3 0:00.02\n"
"17914 vagrant 20 0 23528 1396 1048 R 0.0 0.3 0:00.00")
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