OVH Cloud OVH Cloud

HELP Regexp

3 réponses
Avatar
LyonL
bonjour, j'ai vraiment du mal à utiliser les regexp

voilà ce que je voudrais faire :

chaine='#ma chaine avec pleins de <>%45575 stop# j'ai dit stop#
out=re.findall('#(.+)#',chaine);

mais le probleme c'est que ce masque prend toute la chaine.
ce que je voudrais c'est extraire juste la premiere partie:
...ma chaine avec pleins de <>%45575 stop

et il se passe que en fait j'ai
... ma chaine avec pleins de <>%45575 stop# j'ai dit stop


il y a moyen de faire un . privé de # ???

Merci

3 réponses

Avatar
Christophe Delord
Bonjour,

On Sat, 22 Jan 2005 00:56:43 +0100, LyonL wrote:

bonjour, j'ai vraiment du mal à utiliser les regexp

voilà ce que je voudrais faire :

chaine='#ma chaine avec pleins de <>%45575 stop# j'ai dit stop#
out=re.findall('#(.+)#',chaine);

mais le probleme c'est que ce masque prend toute la chaine.
ce que je voudrais c'est extraire juste la premiere partie:
...ma chaine avec pleins de <>%45575 stop

et il se passe que en fait j'ai
... ma chaine avec pleins de <>%45575 stop# j'ai dit stop


il y a moyen de faire un . privé de # ???


La syntaxe des expressions régulières est décrite dans la doc :
http://docs.python.org/lib/re-syntax.html

Il y a au moins deux solutions :

'#(.*?)#' : cherche tout ce qui se trouve entre deux dièses, avec une
longueur minimale.

'#([^#]*)#' : cherche tout ce qui se trouve entre deux dièses et qui ne
contient que des caractères différents de dièse.


Merci


Avatar
LyonL

La syntaxe des expressions régulières est décrite dans la doc :
http://docs.python.org/lib/re-syntax.html


j'ai deja regardé la doc, mais elle manque cruellement d'exemples


Il y a au moins deux solutions :

'#(.*?)#' : cherche tout ce qui se trouve entre deux dièses, avec une
longueur minimale.

'#([^#]*)#' : cherche tout ce qui se trouve entre deux dièses et qui ne
contient que des caractères différents de dièse.



Merci ca marche nickel la deuxième solution.

Avatar
Christophe Delord
Bonjour,

On Sat, 22 Jan 2005 13:48:47 +0100, LyonL wrote:


j'ai deja regardé la doc, mais elle manque cruellement d'exemples


Une autre doc avec plus d'exemples :

http://www.amk.ca/python/howto/regex/