import re
regex = re.compile(r"(?<=participant id=\").*?(?=\")", flags=re.MULTILINE)
test_str = ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n"
"<recording xmlns=\"urn:ietf:params:xml:ns:recording\" xmlns:ac=http://aaa>\n\n"
"<datamode>complete</datamode>\n\n"
"<group id=\"00000000-0000-0084-2bb2-880019360e65\">\n\n"
"<associate-time>2024-01-30T13:10:49</associate-time>\n\n"
"</group>\n\n"
"<session id=\"0000-0000-0000-0000-bc3f13048a90ea74\">\n\n"
"<group-ref>00000000-0000-0084-2bb2-880019360e65</group-ref>\n\n"
"<associate-time>2024-01-30T13:10:49</associate-time>\n\n"
"</session>\n\n"
"<participant id=\"+11111111111\" session=\"0000-0000-0000-0000-bc3f13048a90ea74\">\n\n"
"<nameID aor=+11111111111@x.x.x.x></nameID>\n\n"
"<associate-time>2024-01-30T13:10:49</associate-time>\n\n"
"<send>00000000-2f30-0084-2bb2-880019360e65</send>\n\n"
"<recv>00000001-42a6-0084-2bb2-880019360e65</recv>\n\n"
"</participant>\n\n"
"<participant id=\"+22222222222\" session=\"0000-0000-0000-0000-bc3f13048a90ea74\">\n\n"
"<nameID aor=+22222222222@y.y.y.y></nameID>\n\n"
"<associate-time>2024-01-30T13:10:49</associate-time>\n\n"
"<send>00000001-42a6-0084-2bb2-880019360e65</send>\n\n"
"<recv>00000000-2f30-0084-2bb2-880019360e65</recv>\n\n"
"</participant>\n\n"
"<stream id=\"00000000-2f30-0084-2bb2-880019360e65\" session=\"0000-0000-0000-0000-bc3f13048a90ea74\">\n\n"
"<label>1</label>\n\n"
"</stream>\n\n"
"<stream id=\"00000001-42a6-0084-2bb2-880019360e65\" session=\"0000-0000-0000-0000-bc3f13048a90ea74\">\n\n"
"<label>2</label>\n\n"
"</stream>\n\n"
"</recording>")
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