import re
regex = re.compile(r"^(.*?).([a-z]+)\[([0-9]+)|:([0-9]+)]")
test_str = ("Server: firesideweb01:8002\n"
"Uptime: 10:56:19\n\n"
"=== Address Service ===\n"
"Build Number : 2381\n"
"Database Date : 2015-07-15\n"
"Database Expiration Date: 10-31-2015\n"
"License Expiration Date : 2016-05-03\n\n"
"Validate Calls: 395224\n"
" Valid : 178993\n"
" Invalid : 216231\n"
"Format\n"
" Short : 358570\n"
" Long : 36654\n"
" Auto : 0\n\n"
"=== Name Service ===\n"
"Build Number : 2381\n"
"Database Date : 2015-06-15\n"
"Database Expiration Date: 2015-12-15\n"
"License Expiration Date : 2016-05-03\n\n"
"Normalize Calls: 0\n"
"IsMatch Calls : 0")
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