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
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

Poser une question


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/pytho...le-re.html
http://diveintopython.adrahon.org/r...index.html
Il existe également un debugger pour les RE en Python:
http://kodos.sourceforge.net/
HTH,
Laurent
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
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.