Wenn ich die Konstante ^a(a|b|c) *b$ in der Match Zeile manuell eingebe, dann gibt mir die Methode richtigerweise True zurück. Jetzt habe ich den Code wie folgt geschrieben:
Code: Alles auswählen
import re
class Rega:
def __init__(self,alphabet, RA):
self.alphabet = alphabet
self.regulaerer_ausdruck = RA
def print_alphabet(self):
for i in self.alphabet:
print(i)
def regulaerer_ausdruck(self):
return self.regulaerer_ausdruck
def passendes_wort(self, wort):
if re.match(ra.regulaerer_ausdruck, wort) == None:
return False
else:
return True
ra = Rega(["a","b","c"], "^a(a|b|c) *b$")
ra.print_alphabet()
print(ra.regulaerer_ausdruck)
print(ra.passendes_wort("abcb"))