# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"([0-9][-][0-9]{2,3}.*[A-Za-z])"
test_str = ("1-10 Klinische Untersuchung\n"
"1-100Klinische Untersuchung in Allgemeinanästhesie\n"
"Hinw.:Die Allgemeinanästhesie ist im Kode enthalten\n"
"Dieser Kode ist nur dann zu verwenden, wenn die Untersuchung unter Anästhesie als \n"
"selbständige Maßnahme durchgeführt wird. Erfolgt in der gleichen Sitzung ein invasiver \n"
"oder operativer Eingriff, der eine Anästhesie erfordert, ist die Untersuchung nicht gesondert \n"
"zu kodieren\n"
"Untersuchung einzelner Körpersysteme\n"
"(1-20...1-33)\n"
"Hinw.:Das Anästhesieverfahren bei einer diagnostischen Maßnahme kann zusätzlich kodiert werden, sofern die \n"
"diagnostische Maßnahme üblicherweise ohne Allgemeinanästhesie durchgeführt wird (8-90)\n"
"1-20 Neurologische Untersuchungen\n"
"Hinw.:Das neurologische Monitoring ist gesondert zu kodieren (8-92)\n"
"1-202Diagnostik zur Feststellung des irreversiblen Hirnfunktionsausfalls\n"
"Hinw.:Diese Kodes sind nur zu verwenden bei Diagnostik nach der jeweils gültigen Fortschreibung \n"
"der Richtlinie der Bundesärztekammer zur Feststellung des irreversiblen \n"
"Hirnfunktionsausfalls (siehe im Zusammenhang mit einer Organspende auch § 5 und § 16 \n"
"Abs. 1 Satz 1 Nr. 1 Transplantationsgesetz)\n"
"Die durchgeführten Einzelmaßnahmen sind nicht gesondert zu kodieren\n"
"1-202.0Bei einem potenziellen Organspender\n"
"Hinw.:Als Datum der Leistungserbringung ist das Datum anzugeben, an welchem mit der \n"
"Diagnostik des irreversiblen Hirnfunktionsausfalls begonnen wurde\n"
"Nicht angegeben werden dürfen diese Kodes, wenn der Patient zu Lebzeiten einer möglichen \n"
"Organspende widersprochen hat oder medizinische Kontraindikationen für eine \n"
"Organspende vorliegen\n"
".00Ohne Feststellung des irreversiblen Hirnfunktionsausfalls\n"
".01Mit Feststellung des irreversiblen Hirnfunktionsausfalls")
matches = re.finditer(regex, test_str)
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