expressions reguliere perl>python

Le
biscotte a la crevette
bonjours,

je me suis récemment intéressé a l'app-engine de google et j'ai
decider de recoder les script (perl) de mon server vers ce systeme
(python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lancé
dans le recodage d'un chat mais je bloque sur le systeme de
replacement de string :
voila le code original (perl) :
$str =~ s![b](.+?)[/b]!$1!g;
qui remplace dans la variable str les [b] [/b] par des <b> </b>
mais je n'arrive pas a faire de meme avec python , je me retrouve la
plupart du temp avec un
"cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant
provoqué par greeting.msg)
j'ai essayé :
str = re.match("[b](.*?)[/b]", greeting.msg)
mais je sait pas comment manipuler les match ou autre remplace en
python.

si une lumière bienveillante pouvais me montrer les chemin ;)
merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
cémoi
Le #20700591
biscotte a la crevette a écrit :
bonjours,

je me suis récemment intéressé a l'app-engine de google et j'ai
decider de recoder les script (perl) de mon server vers ce systeme
(python) , jusqu'a hier , aucun souci mais aujourdhui je me suis lancé
dans le recodage d'un chat ... mais je bloque sur le systeme de
replacement de string :
voila le code original (perl) :
$str =~ s![b](.+?)[/b]!$1!g;
qui remplace dans la variable str les [b] [/b] par des <b> </b>
mais je n'arrive pas a faire de meme avec python , je me retrouve la
plupart du temp avec un
"cannot concatenate 'str' and 'NoneType' objects" (le NoneType etant
provoqué par greeting.msg)
j'ai essayé :
str = re.match("[b](.*?)[/b]", greeting.msg)
mais je sait pas comment manipuler les match ou autre remplace en
python.

si une lumière bienveillante pouvais me montrer les chemin ;)




Voici une piste:


import re
string = "un [b] texte balise [/b] a modifier"
string = re.sub('[b](.+?)[/b]', r'<b>1</b>', string)


A noter qu'en Python les chaines de caractères disposent de la méthode
'replace' qui permet de faire pas mal de choses avant de faire appel aux
expressions régulières.

De la documentation en français est disponible à ces différentes adresses:

http://quentel.pierre.free.fr/python-trad/module-re.html
http://diveintopython.adrahon.org/regular_expressions/index.html

Il existe également un debugger pour les RE en Python:

http://kodos.sourceforge.net/


HTH,

Laurent


merci


biscotte a la crevette
Le #20707261
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string
mais le problème viens du fait que la récupération d'une info dans la
base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)
je ne peut donc pas procéder a un remplace ou autre :s
Bruno Desthuilliers
Le #20707771
biscotte a la crevette a écrit :
merci a toi , j'ai réussi a remplacer ce que je voulais dans un string
mais le problème viens du fait que la récupération d'une info dans la
base de donnée (Greeting) chez google n'a pas d'attribut (NoneType)



NoneType est la classe du singleton None (dont le nom est assez
explicite, je pense). Je n'ai jamais mis le nez dans googleapp, mais
AMHA, si tu a un None au lieu de la valeur attendu, c'est qu'il y a un
loup quelque part dans ton code.
Publicité
Poster une réponse
Anonyme