Question

J'écris un fixateur pour l'outil 2to3 en python.

Dans ma chaîne de modèle, j'ai une section où je voudrais correspondre à une chaîne vide comme argument, ou une chaîne unicode vide. Le morceau pertinent de mon modèle ressemble à:

(args='""' | args='u""')

Ma question est la deuxième option ne correspond jamais. Même si elle est seule, elle ne correspond pas à. Cependant, si je dis simplement args = tout et puis args sortie, je peux attraper les cas où args est exactement égale à la seconde option.

Y at-il quelque chose de manipulation unicode bizarre se passe? Pourquoi ne pas la deuxième option littérale jamais correspondre?

Était-ce utile?

La solution

Parce que correspondance de motif 2to3 est conçu pour correspondre à des jetons non littéraux, il n'y a aucun moyen de le faire directement.

Au lieu de cela, vous pouvez correspondre (args = STRING), puis déterminer la valeur de l'argument de chaîne dans la fonction de transformation et de gérer de manière appropriée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top