Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Trotz der gesetzten Wortgrenzen \b macht er aus Radium3000 "Unknown" und "integer", statt den ganzen String auf unknown zu setzen.
Was muss ich an den Ausdrücken ändern, damit sie wirklich nur auf Worte zugreifen?
Deine Frage ist komplett unterspezifiziert. Was du da zeigst ist kein Python und wir können nur raten, wie du deine Eingabe zu regulären Ausdrücken verarbeitest.
Dies hier funktioniert jedenfalls wie gedacht: Die 3000 wird nicht gefunden.
@BreathBrightBrother: Das 'r' bekommst Du da gar nicht vor die Zeichenkette weil es eben keine Python-Quelltextdatei ist. Das beeinflusst ja auch nur wie Python das Zeichenkettenliteral im Quelltext interpretiert. Die Zeichenkette, die dabei entsteht ist nichts besonderes.
Vielleicht magst Du ja mal ein minimales Beispielprogramm mit dem Problem zeigen, denn sma's Beispiel deutet ja darauf hin, dass es eigentlich nicht am Ausdruck liegen kann. Denn ob man den nun aus der Datei liest, oder im Quelltext angibt, sollte keinen Unterschied machen.
Okay, ich hätt's gleich sagen sollen: Ein lauffähiges Minimalbeispiel, welches das Problem demonstriert.
Hier fiele mir als erstes mal auf, dass `self.regListe` einen `AttributeError` auslösen würde, es sei denn das ist als Klassenattribut definiert, was ich zumindes komisch finden würde.
Was soll die `replace()`-Aktion? Hast Du tatsächlich doppelte \ in der Textdatei und sollen die wirklich als ein Einziger interpretiert werden? Warum stehen sie dann nicht gleich so in der Datei?
`pattern` wird umständlich gebildet. Da sollte man besser '|'.join() verwenden.