Cela devrait être facile, mais j'ai réussi à soulever 2 personnes à ce jour au travail et j'en ai été pendant plus de 3 heures maintenant, alors voici. P>
J'ai besoin de remplacer A + avec APLUS (avec quelques autres cas) avec le module Python Re. par exemple. "J'ai passé mon examen A +." doit devenir "j'ai passé mon examen APLUS". P>
Il suffit d'utiliser \ BA + fonctionne bien la plupart du temps, mais échoue dans le cas d'A + B, donc je ne peux donc pas l'utiliser, il doit correspondre à un + comme mot distinct. J'ai essayé \ Ba + \ B mais qui échoue parce que je suppose que le + est une limite de mot. P>
J'ai aussi essayé \ BA + \ w qui fonctionne, mais est gourmand et mange l'espace (ou tout autre chargeur non alpha qui serait là). P>
Toute suggestion s'il vous plaît? p>
3 Réponses :
Tournez ce \ w code> dans une affirmation. \ba\+(?!\w)
>>> re.sub(r'\ba\+\s', 'aplus ', 'I passed my a+ exam.') 'I passed my aplus exam.' >>> re.sub(r'\ba\+\s', 'aplus ', 'a+b') 'a+b'
Vous devez échapper au + comme il a une signification spéciale dans Regexp (un ou plusieurs A).
Recherche A \ + code> au lieu de A + code> p>
Correction sur la regex: je m'échappais le +, je me suis trompé. Donc, c'était \ BA \ +, \ BA \ + \ B, etc.
Ces informations appartiennent à la question, de ne pas commenter.