Wie ersetze ich eine erneute Übereinstimmung durch eine Transformation dieser Übereinstimmung?

Zum Beispiel habe ich eine Zeichenfolge:

The struct-of-application and struct-of-world

Mitre.sub, wird die übereinstimmende Zeichenfolge durch eine vordefinierte Zeichenfolge ersetzt. Wie kann ich die Übereinstimmung durch eine Transformation des übereinstimmenden Inhalts ersetzen? Um zu bekommen, zum Beispiel:

The [application_of_struct](http://application_of_struct) and [world-of-struct](http://world-of-struct)

Wenn ich einen einfachen regulären Ausdruck schreibe((\w+-)+\w+) und versuche @ zu benutzre.sub, anscheinend kann ich nicht das, was ich gefunden habe, als Teil des Ersatzes verwenden, geschweige denn den gefundenen Inhalt bearbeiten:

In [10]: p.sub('struct','The struct-of-application and struct-of-world')
Out[10]: 'The struct and struct'

Antworten auf die Frage(4)

Ihre Antwort auf die Frage