Travailler mon chemin à travers:Pyparsing: Définition rapide de l'analyseur de référence correcte?
Pyparsing Quick Reference, Chapter 3: Small Example -
L'analyseur exemple est censé correspondre à des identifiants Python valides, donc
'a_#'
devrait être invalide, comme l'auteur commente à être, non? Cependant, au bas de la page:
---Test for 'a_#'
Matches: ['a', '_']
Voici l'analyseur:
first = pp.Word(pp.alphas+"_", exact=1)
rest = pp.Word(pp.alphanums+"_")
identifier = first+pp.Optional(rest)
Je ne sais pas, donc je voudrais quelques commentaires avant de contacter l'auteur. En outre, j'essaye de le corriger en construisant un analyseur qui accepterait seulement la gamme de caractères définie dans la chaîne entière, ainsi il ne correspondrait pas à un préfixe de celui-ci. Vous n'arrivez pas à bien faire - un conseil?
Salut, Paul! Je suppose que j'ai peut-être commencé avec vos tutoriels [Construire des analyseurs de descente récursifs avec Python] (http://www.onlamp.com/lpt/a/6435) et [Utiliser le module pyparsing] (http: //www.ptmcg. com/geo/python/howtousepyparsing.html), mais j'ai commencé avec John Shipman [pyparsing quick reference: un outil de traitement de texte Python] (http://infohost.nmt.edu/tcc/help/pubs/pyparsing/web/index .html) parce qu'il a été mis à jour le plus récemment (2013). Merci beaucoup pour tout le travail que vous avez mis à la disposition de la communauté sur Pyparsing - et, bien sûr, pour l'excellente réponse exhaustive! – Zubo