import re
regex = re.compile(r"^([^d]|d(d|i(d|s(d|c(d|o(d|rd(iscord)*(d|a(d|pd)|i(d|s(d|c(d|od)))))))))*([^di]|i([^ds]|s([^cd]|c([^do]|o([^dr]|r([^d]|d(iscord)*([^adi]|a([^dp]|p[^dp])|i([^ds]|s([^cd]|c([^do]|o([^dr]|r[^d]))))))))))))*(d(d|i(d|s(d|c(d|o(d|rd(iscord)*(d|a(d|pd)|i(d|s(d|c(d|od)))))))))*(i((s(c?|cor?))?|scord(iscord)*(ap?|i(s(c?|cor?))?)?))?)?$", flags=re.MULTILINE)
test_str = ("no match\n\n"
"[k9_et_PAT](https://cdn.discordapp.com/emojis/1290159554080018432.gif?size=48&animated=true&name=k9_et_PAT)\n"
"[RoloHeadpat](https://media.discordapp.net/stickers/1331814642959515699.png?size=160&name=RoloHeadpat)\n"
"[funny_meme](https://cdn.discordapp.com/attachments/408346996823556097/1357753754514100364/NO-WAY-1743754818196.png?ex=67f2abb8&is=67f15a38&hm=2481a2440e02712ff422d605416d1395c973144e51d2e882e7615fbd15a53372&)\n"
"a[k9_et_PAT](https://cdn.discordapp.com/emojis/1290159554080018432.gif?size=48&animated=true&name=k9_et_PAT)\n"
"a[RoloHeadpat](https://media.discordapp.net/stickers/1331814642959515699.png?size=160&name=RoloHeadpat)\n"
"a[funny_meme](https://cdn.discordapp.com/attachments/408346996823556097/1357753754514100364/NO-WAY-1743754818196.png?ex=67f2abb8&is=67f15a38&hm=2481a2440e02712ff422d605416d1395c973144e51d2e882e7615fbd15a53372&)\n\n"
"match\n"
"a[totally_malicious](google.com)\n"
"[totally_malicious](google.com)")
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