Coucou homonyme,

Le pattern:
"'.*?(?<!\\\\)'"

permet de trouver les chaînes de ce genre:
''
'bonjour'
'bon\'jour'
'b\'o\'n\''

En fait, comme le dit la documentation, la clause (?<!...) vérifie que ... ne 
précède pas  le caractère qui arrivera après la parenthèse fermante.

Dans le pattern plus haut, que l'antislash ne suit pas directement un 
appostrophe fermant. Ce qui entraîne que la recherche continu à se faire 
jusqu'à ce que soit rencontré un appostrophe qui ne soit pas précédé d'un 
antislash.

Ai-je suffisamment été clair ?

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net



  ----- Original Message ----- 
  From: yannick 
  To: [email protected] 
  Sent: Tuesday, March 22, 2016 12:52 PM
  Subject: [progliste] Re: python- pattern de regexp pour recencer tous les 
string


  salut Yannikc je suis en ce moment à fond dans les reg exp .
  je ne pige pas tout même le but qe tu t'es donné .
  tu écrit 
  "'.*?(?<!\\\\)'"
  a quoi sert le  second point d'interrogation ?



  Le 22/03/2016 12:27, Yannick Youalé a écrit :

    Salut les mecs,

    je pense avoir finalement trouvé la solution à force d'acharnement et 
d'abnégation.

    Le pattern ci-dessous  n'est que pour les strings entourées par les 
appostrophes, mais il vous permettra tout de même de comprendre le mécanisme.

    "'.*?(?<!\\\\)'"

    Aussi simple que ça, mais il fallait connaître cette instruction entre 
parenthèses qui fait que la recherche ne s'arrête pas si l'appostrophe de fin 
est précédée d'un antislash.

    Bon c'est le principe. Quoi qu'il faille que je corse encore le tout en 
prenant en compte  les cas  où c'est l'antislash précédent qui est échappé et 
non le guillemet, mais l'idée est là.

    Amicalement,


    Yannick Daniel Youalé
    La programmation est une religion. Aimez-la, ou quittez-la.
    www.visuweb.net


      ----- Original Message ----- 
      From: Yannick Youalé 
      To: [email protected] 
      Sent: Tuesday, March 22, 2016 11:21 AM
      Subject: python- pattern de regexp pour recencer tous les string


      Salut à tous,

      Je suis en train de me casser la tête sur un exercice plus corsé qu'il 
n'y parraît.

      Trouver le pattern de regexp PCRE qui devrait permettre de recencer 
toutes les occurences d'une chaîne string dans un code python.

      Cela en prenant en compte:

      * la particularité des chaînes précédées par la lettre r;

      * les caractères d'échappement par les antislashes (\) qui je le rappelle 
peuvent échapper le  guillemet ou l'appostrophe d'ouverture du string lui-même.

      Quelqu'un s'est-il déjà frotté à ce casse-tête ?

      Ou mieux quelqu'un aurait-il déjà eu la solution ?

      Merci !

      Yannick Daniel Youalé
      La programmation est une religion. Aimez-la, ou quittez-la.
      www.visuweb.net



Répondre à