import re
regex = re.compile(r"^((?:\S*:\/\/)?\S*?)[:\/]", flags=re.MULTILINE)
test_str = ("ap://167.172.44.255:1389/LegitimateJavaCla\n"
"ap://167.172.44.255:1389/La\n"
"ap://167.99.32.139:1389/Basic/ReverseShell/167.99.32.139/99\n"
"ldap://x.x.x.x.61k2ev3252274o2ek77941q85t0r9444o.interact.sh/ok6ll9m\n"
"ldap://c6ps4rekeidcvgqlsmsgcg37qdoyyknz4.interact.sh/a\n"
"ldap://c6ps4rekeidcvgqlsmsgcg37x9ayymcak.interact.sh/a\n"
"ldap://c6ps4ipurnhssm2608l0cg37chyyykyhk.interact.sh/a\n"
"ldap://c6ps4ipurnhssm2608l0cg37pdyyykbug.interact.sh/a\n"
"91fd9fef8958.bingsearchlib.com:39356/\n"
"550f7e1deaed.bingsearchlib.com:39356/a\n"
"2174d47e8d04.bingsearchlib.com:39356/a\n"
"da6d408517b9.bingsearchlib.com:39356/a\n"
"5463610592ef.bingsearchlib.com:39356/a")
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