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
