import re
regex = re.compile(r"<name>([^<]*?)<\/name>[\s\S]*?<size>([^<]*?)<\/size>", flags=re.MULTILINE)
test_str = ("<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
" <env:Header/>\n"
" <env:Body>\n"
" <ns2:getListsInfoResponse xmlns:ns2=\"http://service.admin.ws.five9.com/\">\n"
" <return>\n"
" <name>QuotaView</name>\n"
" <size>4</size>\n"
" </return>\n"
" </ns2:getListsInfoResponse>\n"
" </env:Body>\n"
"</env:Envelope>")
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