2008-12-11 12 views
1

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

+0

Les réponses à ma question [Regex et Unicode] (http://stackoverflow.com/questions/14389/regex-and -unicode) est-il pertinent? – dbr

Répondre

1

D'accord désolé d'utiliser ce courant de stimulateur de pensée de la conscience, mais il semble que l'écriture de ma question originale m'a mis sur le chemin. Il me semble que ce soit une solution pour ce que je suis en train de faire:

missingParen=re.compile(r"^\(\d$") 
Questions connexes