Einige Programmiersprachen bieten die Möglichkeit, einen Regex-Austausch dynamisch durchzuführen.Gibt es eine Möglichkeit, Regexes in Python dynamisch zu ersetzen?
Zum Beispiel, wir haben eine Zeichenfolge wie foo:$USER:$GROUP
, wobei $USER
und $GROUP
durch ihre Umgebungsvariablen ersetzt werden. Die umgewandelte Zeichenfolge würde ungefähr wie foo:john:admin
aussehen. Um dieses Problem zu lösen, müssen wir alle Zeichenketten nehmen, die \$[A-Za-z]+
entsprechen, und den Umgebungsvariablenwert nachschlagen.
In PHP, die folgenden sieht wie folgt aus:
<?php
preg_replace_callback(
# the regular expression to match the shell variables.
'/\$[A-Za-z]+/',
# Function that takes in the matched string and returns the environment
# variable value.
function($m) {
return getenv(substr($m[0], 1));
},
# The input string.
'foo:$USER:$GROUP'
);
eine ähnliche Sache in Python Gibt es?
Ihre PHP-Code nicht korrekt ist, gibt es eine undefinierte '$ m'. Es muss "$ matches" sein –
@ WiktorStribiżew ja, tippte das auf meinem Handy. Es ist jetzt behoben. – user2064000
Müssen Sie das 'getenv (substr ($ m [0], 1)) 'Äquivalent in Python wissen? Oder wie man einen Callback in Python 're' verwendet? –