Je ne peux pas croire qu'il est si difficile de traiter une variable comme chaîne brut! J'ai cherché et trouvé des questions semblables, mais aucune réponse appropriée.Python traiter variable comme chaîne littérale/brute
J'ai une variable avec le nom de domaine stocké dans, par exemple. 'domaine \ utilisateur', j'ai besoin d'obtenir le nom d'utilisateur seulement en utilisant re
. Le problème est Python me donne des valeurs hexadécimales pour les combinaisons de caractères spéciaux, par exemple quand j'ai \b
dans la chaîne.
J'ai juste besoin d'obtenir la chaîne littérale de la variable, et rien d'autre.
author = list[0] // list[0] contains 'domain\blah'
author = re.sub('.*\\\\(.+)$', r'\1', author)
Je pense blah
, obtenir 'domain\x08lah'
!
L'enregistrement de la chaîne comme chaîne brute au début n'est pas une option, car j'obtiens la chaîne d'autres opérations regex.
Des idées?
EDIT:
je me suis trompé en supposant la variable avait une barre oblique unique En effet, lors de l'obtention de la variable d'une autre opération, l'backclash avait déjà été échappé.. Donc, je faisais un problème pour moi-même en essayant de créer un scénario de test.
Comment 'list [0]' a-t-il été défini en premier lieu? Vous avez défini une chaîne régulière quelque part et n'avez pas échappé à la barre oblique inverse. –
Très bonne question – repzero