J'ai du texte Unicode que je veux nettoyer en utilisant des expressions régulières. Par exemple, j'ai des cas où '(2') Cela existe parce que pour des raisons de formatage, le parenté final se termine dans une cellule html adjacente Ma solution initiale à ce problème était de regarder le contenu de la cellule suivante et d'utiliser une chaîne fonction de déterminer si elle a occupé les paren de clôture. Je savais que ce n'était pas une bonne solution, mais cela a fonctionné. maintenant, je veux le réparer, mais je ne peux pas sembler faire le travail d'expression régulière.Expressions régulières dans les chaînes Unicode
missingParen=re.compile(r"^\(\d[^\)]$")
Ma compréhension de ce que je pense que je fais:
^ au début de la chaîne que je veux trouver
(un paren ouvert, le PAREN doit être backslashés parce qu'il est un caractère spécial
\ d I aussi wa nt pour trouver un chiffre
[Je crée une classe spéciale de caractère
^ Je ne veux pas trouver ce qui suit
) qui est un proche paren
$ à la fin de la chaîne
Et bien sûr, l'intrigue s'épaissit j'ai fait une supposition idiote que parce que j'ai placé un \ d je ne trouverais pas (33 mais je me trompe donc j'ai ajouté un {1} à mon expression régulière et cela n'a pas aidé, cela correspond (3333, donc mon problème est plus compliqué que je ne le pensais. Je veux que la chaîne soit seulement une paren ouverte et un seul chiffre. Est-ce l'approche plus intelligente
missingParen=re.compile(r"^\(\d$")
Et notez S Lott _Je déjà indéxé débutant donc vous ne pouvez pas ramasser tous les points bas Non que je n'apprécie pas vos idées que je garde un sens à lire votre livre, a probablement la réponse
Les réponses à ma question [Regex et Unicode] (http://stackoverflow.com/questions/14389/regex-and -unicode) est-il pertinent? – dbr