import re
regex = re.compile(r"nowrap=\"nowrap\" align=\"center.+?>(.+?)<\/td.+\n.+?align=\"right\"><a href=\"/.+?\/\">(.+?)<\/a>.+\n.+\n.+?href=\"\/teams\/.+?\">(.+?)<\/a>", flags=re.MULTILINE)
test_str = (" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">01:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/bayern-muenchen/\">Bayern München</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/real-madrid/\">Real Madrid</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" <a href=\"/report/freundschaft-vereine-2019-kalenderwoche-bayern-muenchen-real-madrid/\" title=\"Match details Bayern München - Real Madrid\">3:1 (1:0) </a>\n"
" </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">12:30</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/juventus/\">Juventus</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/tottenham-hotspur/\">Tottenham Hotspur</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">13:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/gillingham-fc/\">Gillingham FC</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/millwall-fc/\">Millwall FC</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">13:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/sv-lippstadt-08/\">SV Lippstadt 08</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/ksv-baunatal/\">KSV Baunatal</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">13:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/sportfreunde-lotte/\">Sportfreunde Lotte</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/werder-bremen-ii/\">Werder Bremen II</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">13:30</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/holstein-kiel/\">Holstein Kiel</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/sheffield-wednesday/\">Sheffield Wednesday</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" <a href=\"/report/freundschaft-vereine-2019-kalenderwoche-holstein-kiel-sheffield-wednesday/\" title=\" Holstein Kiel - Sheffield Wednesday\">-:- </a>\n"
" </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">14:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/sc-verl/\">SC Verl</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/arminia-bielefeld/\">Arminia Bielefeld</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" <a href=\"/report/freundschaft-vereine-2019-kalenderwoche-sc-verl-arminia-bielefeld/\" title=\" SC Verl - Arminia Bielefeld\">-:- </a>\n"
" </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">14:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/shrewsbury-town/\">Shrewsbury Town</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/aston-villa/\">Aston Villa</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">14:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/standard-liege/\">Standard Liège</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/ogc-nice/\">OGC Nice</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">14:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/sv-wehen-wiesbaden/\">SV Wehen Wiesbaden</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/boavista/\">Boavista</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">15:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/1-fsv-mainz-05/\">1. FSV Mainz 05</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/jahn-regensburg/\">Jahn Regensburg</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">15:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/rangers-fc/\">Rangers FC</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/blackburn-rovers/\">Blackburn Rovers</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" <img src=\"https://s.hs-data.com/bilder/shared/live/4.png\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">15:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/kvc-westerlo/\">KVC Westerlo</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/krc-genk/\">KRC Genk</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">16:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/atalanta/\">Atalanta</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/ac-renate/\">AC Renate</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"hell\" nowrap=\"nowrap\" align=\"center\">16:00</td>\n"
" <td class=\"hell\" align=\"right\"><a href=\"/teams/lazio-roma/\">Lazio Roma</a></td>\n"
" <td class=\"hell\" align=\"center\"> - </td>\n"
" <td class=\"hell\"><a href=\"/teams/unione-triestina/\">Unione Triestina</a></td>\n"
" <td class=\"hell\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"hell\" align=\"center\">\n"
" </td>\n"
" </tr>\n"
" \n"
" <tr>\n"
" <td class=\"dunkel\" nowrap=\"nowrap\" align=\"center\">16:00</td>\n"
" <td class=\"dunkel\" align=\"right\"><a href=\"/teams/spal-2013-ferrara/\">SPAL 2013 Ferrara</a></td>\n"
" <td class=\"dunkel\" align=\"center\"> - </td>\n"
" <td class=\"dunkel\"><a href=\"/teams/pordenone-calcio/\">Pordenone Calcio</a></td>\n"
" <td class=\"dunkel\" align=\"center\" nowrap>\n"
" -:- </td>\n"
" <td class=\"dunkel\" align=\"center\">\n"
" </td>\n"
" </tr>\n")
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