python

Eine Funktion als Callback an re sub in Python übergeben

Als fortgeschrittenes Verwendungsbeispiel der "re sub"-Bibliothek und Funktionsmethode in der Python-Programmiersprache gibt es eine Technik, eine Funktion als Callback zu übergeben, um Verarbeitung durchzuführen. Dies ermöglicht erweiterte Ersetzungsverarbeitung, die mit nur normaler regulärer Ausdrucks-Ersetzungsverarbeitung nicht möglich ist.

Shou Arisaka
1 Min. Lesezeit
7. Nov. 2025

Als fortgeschrittenes Verwendungsbeispiel der “re sub”-Bibliothek und Funktionsmethode in der Python-Programmiersprache gibt es eine Technik, eine Funktion als Callback zu übergeben, um Verarbeitung durchzuführen. Dies ermöglicht erweiterte Ersetzungsverarbeitung, die mit nur normaler regulärer Ausdrucks-Ersetzungsverarbeitung nicht möglich ist.

In re.sub ist die Syntax wie re.sub([regulärer Ausdruck], [Ersetzung], [Text]), aber Sie möchten den “Ersetzung”-Teil programmierbar machen und ändern, unter Verwendung des Gruppen-Matches des Teils, der vom “regulären Ausdruck” gematcht wird.

In solchen Fällen können Sie eine Funktion oder Lambda an “Ersetzung” wie folgt übergeben:

(Funktion)

import re

number_mapping = {'1': 'one',
                  '2': 'two',
                  '3': 'three'}

def callback(x):
  return number_mapping[x.group()]

print re.sub(r'\d', callback, "1 testing 2 3")
one testing two three

(Lambda)

import re

number_mapping = {'1': 'one',
                  '2': 'two',
                  '3': 'three'}

print re.sub(r'\d', lambda x: number_mapping[x.group()], "1 testing 2 3")
one testing two three

regex - Passing a function to re.sub in Python - Stack Overflow regex - Using a regular expression to replace upper case repeated letters in python with a single lowercase letter - Stack Overflow

Diesen Artikel teilen

Shou Arisaka 7. Nov. 2025

🔗 Links kopieren