Python-Regex – r-Präfix
Pythons Modul für reguläre Ausdrücke unterstützt das Präfix r, das die folgende Zeichenfolge angibt sollte als Rohzeichenfolge behandelt werden. Dies ist besonders nützlich, wenn Sie mit Escape-Sequenzen arbeiten, da das Präfix r verhindert, dass Python das Backslash-Zeichen als Escape-Zeichen interpretiert.
Das Präfix r hingegen schon nicht immer notwendig. Beispielsweise werden Escape-Sequenzen, die in Python nicht gültig sind, auch dann als Escape-Sequenzen interpretiert, wenn das Präfix r nicht verwendet wird. Zum Beispiel im ersten Beispiel:
import re print (re.sub('\s+', ' ', 'hello there there'))
Das reguläre Ausdrucksmuster „s“ stimmt mit einem oder mehreren Leerzeichen überein. Das Präfix r ist in diesem Fall nicht erforderlich, da das Backslash-Zeichen nicht als Escape-Zeichen verwendet wird (es definiert lediglich den Bereich der zu vergleichenden Zeichen).
Das r ist erforderlich, wenn in Python gültige Escape-Sequenzen verwendet werden. Zum Beispiel im zweiten Beispiel:
import re print (re.sub(r'(\b\w+)(\s+\b)+', r'', 'hello there there'))
r ist in diesem Fall erforderlich, da das Backslash-Zeichen als Escape-Zeichen verwendet wird, um die Grenzen des Wortes zu definieren.
Schließlich das Präfixr ist nicht immer erforderlich, wenn eine Rohzeichenfolge verwendet wird. Das dritte Beispiel entspricht beispielsweise dem zweiten Beispiel:
import re print (re.sub('(\b\w+)(\s+\b)+', '', 'hello there there'))
r nicht verwendet, aber das reguläre Ausdrucksmuster wird weiterhin als a behandelt rohe Saite. Dies liegt daran, dass das gesamte String-Literal in einfache Anführungszeichen gesetzt ist, was in Python einen Rohstring kennzeichnet.
Zusammenfassend lässt sich sagen, dass das Präfixr nicht immer notwendig ist, aber bei der Verwendung empfohlen wird Escape-Sequenzen, die in Python gültig sind.
Das obige ist der detaillierte Inhalt vonWann sollten Sie das Präfix \'r\' in regulären Python-Ausdrücken verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!