Re Mat et tous,

En fait si j'en crois la doc du module Re de Python 2.7, je vois deux "options", M et S. M joue pour MULTILINE, s pour "dot matches all".

Multiline, si activé, permet que le circonflexe et le dollar tiennent compte des caractères de fin de ligne. Si elle n'était pas active, j'imagine qu'elles seraient inutilisables car elles ne correspondraient qu'au début ou à la fin du buffer... Selon mes tests, cette option semble active, et c'est tant mieux.

Pour s, cela semble signifier que si on utilise le point pour "tout caractère, ce "tout" inclut aussi les caractères de fin de ligne si l'option est active, et ne les inclut pas si elle n'est pas active. Ainsi, si on utilise .+, si l'option n'est pas active l'effet devrait se limiter à la ligne sur laquelle est faite la recherche. Mais il semble qu'ici cette option soit active aussi, et dans un éditeur de texte, je ne suis pas sûr que ce soit tant mieux...

Et si tu veux inclure ces options dans une regex, tu les mets entre parenthèses et préfixées par un point d'interrogation, par exemple (?-s) désactive l'option "dotall", et le point ne matche pas les fins de ligne. Si tu veux jouer avec Multiline, pour voir l'effet sur circonflexe et dollar, tu utiliseras donc (?m) pour que les fins de lignes soient prises encompte, ou (?-m) sinon.

Du coup je ne sais pas si mes éclaircissements en seront vraiment lol. Et aussi, espérant que moi-même j'ai tout bien compris...

J.-F.

Le 13/12/2015 20:14, Mathieu Barbe a écrit :
Merci,
il me semblais que j'avais lu un truc sur les expressions régulières, mais je ne savais plus trop.
Merci.
Concernant la suite de ton message, si je comprend bien la chaine
(?-s) à placer dans la recherche permet de dire que $ est la fin de la ligne et non la fin du buffer? Ou plutôt que le metacaractère point ne prend plus en compte les marqueurs de fin de ligne? Pouvez-vous m'éclairer sur ce point car je suis confronter à cela dans mon exemple.
Merki, Math

Mathieu Barbe
Mail: mat.ba...@gmail.com
28 rue Nicolas Chorier
38 000 Grenoble

Le 13/12/2015 14:57, Jean-François Colas a écrit :
Salut,

Il existe un petit bug qui fait que pour remplacer, il faut inverser l'état de la coche "expression régulière" pour qu'elle fonctionne comme on le veut. Donc si tu veux utiliser des expressions régulières lors d'un remplacemeent, il faut décocher. Le bug est connu et tu avais peut-être déjà noté. Ici j'ai fait un petit essai et ton expression semble fonctionner mais les conditions des tests ne sont peut-être pas identiques.

Autre chose, j'en profite pour relancer ma question à propos de l'option (?s), qui semble active par défaut, ce qui perso ne m'arrange pas vraiment, donc si je veux travailler sur une ligne entièr et rien qu'une, je suis souvent obligé d'utiliser (?-s) au début de mon expression régulière. Est-ce modifiable? Souhaitable?

Sinon, tiens j'ai l'impression que je ne peux plus faire dérouler les recherches précédentes de ma session... Du coup j'ai un doute sur le fait que c'ait déjà été possible ou non dans les versions précédentes que je n'ai pas gardées.

J.-F.


 Le 13/12/2015 14:13, Mathieu Barbe a écrit :
Bonjour la liste,
j'essaye de remplacer ou plutôt de supprimer une ligne qui indique le numéro de page dans un de mes livres au format txt.
Voici mon délimiteur de page :

### page  1.

Quand je recherche l'expression régulière:
^### page  [0-9]*\.$

Il me retrouve chaque délimiteur de page.
Mais quand j'utilise la boite de dialogue rechercher/remplacer avec le bouton remplacer tous, il ne me remplace pas mes délimiteurs.

après un ou deux tests et en utilisant la string "###", cela fonctionne, mais quand j'utilise la string "^###", cela ne fonctionne plus. Alors que # est bien le premier caractère de ma ligne.

Avez-vous une idée?
Erreur de manipulation ou Bug.
Je suis en Beta1.
++ Mathieu
Progliste :
Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.


Progliste :
Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.



Progliste :
Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.


Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à