# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"((?<text>\w+\sS-bane den\s*)(?<date>\d{1,2}\.\s\w+\s\d{4}))"
test_str = ("Toganmeldelse nummer 50034 \n"
"Side 1 af 2 \n"
" \n"
"Banedanmark \n"
"Trafikstyring S-bane den 5. marts 2019 \n"
" \n"
"11.03 – 12.03 \n"
" Dyt – Sam højre spor \n"
"Linje B \n"
" MSGD \n"
" \n"
"Modtagere \n"
"Banedanmark DSB Andre \n"
"Driftscenter Hovedstad \n"
"Høje Taastrup kommandopost* \n"
" \n"
"S-tog Drift* \n"
"Driftsplanlægning \n"
"Bestiller: Se nedenfor \n"
" \n"
"Kvittering: Modtagere der er markeret med en *, skal kvittere til e-mail: dch@bane.dk \n"
" \n"
"Bestiller Driftsplanlægning, DSB S-tog, dp@s-tog.dsb.dk \n"
" Bestiller sørger for at dette cirkulære fordeles til relevante enheder, der ikke er nævnt som modtager \n"
" \n"
"Toganmeldelse nummer 50034 (S-banen) \n"
" \n"
" \n"
"Delaflysninger Tognumre Strækning \n"
" Ingen \n"
" \n"
"Aflysninger Tognumre Strækning \n"
" 22263 – 22201 \n"
" \n"
"22602 – 22603 \n"
"Farum – Høje Taastrup \n"
" \n"
"Farum – København H \n"
"11.03 \n"
" \n"
"12.03 \n"
" \n"
" \n"
"Tillysninger Tognumre Strækning \n"
" 23059 \n"
"26263 – 26201 \n"
" \n"
"26602 – 26603 \n"
"Farum – København H \n"
"Farum – Høje Taastrup \n"
" \n"
"Farum – København H \n"
"11.03 \n"
" \n"
" \n"
"12.03 \n"
" \n"
" \n"
" \n"
" \n"
" 23059 \n"
"Farum \n"
"Hareskov \n"
"Buddinge \n"
"Dyssegård \n"
"Svanemøllen \n"
"Østerport \n"
"København H \n"
"19.12.00 \n"
"(19.19.06) \n"
"(19.27.48) \n"
"(19.33.06) \n"
"(19.40.30) \n"
"(19.45.06 \n"
"19.52.00 \n"
" \n"
"Befordrer Materiel \n"
" \n"
" \n"
"Toganmeldelse nummer 50034 \n"
"Side 2 af 2 \n"
" \n"
" \n"
"Linje B Farum – Høje Taastrup \n"
"Farum Minut Minut Minut Op-\n"
"hold i \n"
"sek. \n"
"Minuttal afg \n"
"Afg 02.00 22.00 42.00 (pass) \n"
"Time Tog nr Tog nr Tog nr Farum - 02.00 22.00 42.00 \n"
"0 26602 1 26603 1 - Værløse 15 06.00 26.00 46.00 \n"
"1 - - - Hareskov 10 09.06 29.06 49.06 \n"
"2 - - - Skovbrynet 10 11.30 31.30 51.30 \n"
"3 - - - Bagsværd 20 13.36 33.36 53.36 \n"
"4 - - - Stengården 10 15.24 35.24 55.24 \n"
"5 - - - Buddinge 20 17.48 37.48 57.48 \n"
"6 - - - Kildebakke 10 19.30 39.30 59.30 \n"
"7 - - - Vangede 10 21.24 41.24 01.24 \n"
"8 - - - Dyssegård 120 25.30 45.30 05.30 \n"
"9 - - - Emdrup 15 28.00 48.00 08.00 \n"
"10 - - - Ryparken 15 31.00 51.00 11.00 \n"
"11 - - - Svanemøllen 20 34.30 54.30 14.30 \n"
"12 - - - Nordhavn 20 36.42 56.42 16.42 \n"
"13 - - - Østerport 25 39.06 59.06 19.06 \n"
"14 - - - Nørreport 25 41.36 01.36 21.36 \n"
"15 - - - Vesterport 20 43.30 03.30 23.30 \n"
"16 - - - København H 60 46.00 06.00 26.00 \n"
"17 - - - Dybbølsbro 20 47.54 07.54 27.54 \n"
"18 - - - Skelbæk - (49.20) (09.20) (29.20) \n"
"19 - - - Carlsberg 20 50.30 10.30 30.30 \n"
"20 - 26263 26264 Valby 25 52.48 12.48 32.48 \n"
"21 26265 26266 26267 Danshøj 15 54.42 14.42 34.42 \n"
"22 26268 26269 26270 Hvidovre 20 56.24 16.24 36.24 \n"
"23 26271 26200 26201 Rødovre 20 58.06 18.06 38.06 \n"
" Brøndbyøster 20 59.54 19.54 39.54 \n"
" Glostrup 30 02.42 22.42 42.42 \n"
" Albertslund 25 05.30 25.30 45.30 \n"
" Taastrup 25 08.36 28.36 48.36 \n"
" Høje Taastrup - 11.00 31.00 51.00 \n"
"Befordrer Passagerer \n"
"Bemærkning 1) Kører kun til København H \n"
" \n"
" \n"
" \n"
" \n"
" \n")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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