2009-10-13 7 views
0

I du texte avec des objets HTML où le < et > des balises a déposés, alors maintenant je besoin de quelque chose qui correspondra à un petit p suivi d'une lettre majuscule, commeExpression régulière pour les objets HTML

pThe next day they.... 

Et J'ai aussi besoin de quelque chose qui va attraper le /p qui est plus facile. Ceux-ci doivent être supprimés, c'est-à-dire remplacés par "" en python.

Quelle RE utiliserais-je pour cela? Merci! Stephan.

Répondre

1

Essayez ceci:

re.sub(r"(/?p)(?=[A-Z]|$)", r"<\1>", str) 

Vous pourriez vouloir étendre l'affirmation limite (ici (?=[A-Z]|$)) avec des caractères supplémentaires comme des espaces.

1

J'ai obtenu est. Vous utilisez des backreferences,

import re 
smallBig = re.compile(r'[a-z]([A-Z])') 

... 
cleanedString = smallBig.sub(r'\1', dirtyString) 

Cela supprime la petite lettre, mais garde la lettre majuscule dans les cas où le « < » et « > » des balises HTML ont été dépouillées et vous vous asseyez avec le texte comme

pSome nouveau paragraphe text/p

Rapide et sale mais ça marche dans mon cas.

Questions connexes