Question aux utilisateurs de Geany

On y discute de tout, ou presque...
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

Je suppose que je ne suis pas le seul à apprécier Geany

Mais, j'ai un petit soucis récurrent : je ne sais pas .... :017:

Voici un exemple :

Une liste de paquets copiée dans l'historique de Synaptic

Code : Tout sélectionner

cheese (3.18.1-2ubuntu3)
gnome-video-effects (0.4.1-3ubuntu1)
....
session-migration (0.2.3)
zeitgeist-core (0.9.16-0ubuntu4)

que je voudrais transformer en :

Code : Tout sélectionner

cheese gnome-video-effects .... session-migration zeitgeist-core 

pour l'utilser comme argument de p.ex :

Code : Tout sélectionner

# apt-get remove cheese gnome-video-effects .... session-migration zeitgeist-core 

Mon problème :

je ne comprends pas comment avec [Ctrl+H]

faire reconnaître la portion de chaîne entre parenthèses (incluant les parenthèses ;-)

J'ai bien lu le manuel à ce sujet mais je ne capte pas :

* Comment inclure les parenthèses dans le motif
* Comment inclure dans le motif : une portion avec un nombre de caractères variable tel que : (0.2.3) et (0.9.16-0ubuntu4)

Voilà , c'est pas grand-chose mais ça me ferait gagner souvent du temps :icon_mrgreen:

Merci pour votre aide

Si vous connaissez un bon tuto sur Geany => ça m'intéresse bcp

@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
kyodev
Membre
Membre
Messages : 33
Inscription : 18 mars 2017, 15:12
Status : Hors-ligne

rechercher: (.*)\(.*\)\n
remplacer par: \1
X utiliser des expressions régulières
X correspondances multi-lignes
cliquer sur "dans le document" pour une action totale en une seule fois
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Merci kyodev

C'est SUPER !... ça marche !

Mais,
je ne suis pas sûr de comprendre bien le truc dans ces détails
pour sûr j'avais raté l'usage de l'étoile

donc :

Code : Tout sélectionner

(.*)
signifie une chaîne quelconque

Code : Tout sélectionner

\(.*\)
signifie une chaîne quelconque entre parenthèses, mais pourquoi n'est-elle pas entre parenthèse comme la précédente ?

signifie une nouvelle ligne


mais je ne comprends pas le fonctionnement (et j'ai rererelu le FM)
Manuel :

\n

Where n is 1 through 9 refers to the first through ninth tagged region when searching or replacing.

Searching for (Wiki)\1 matches WikiWiki.

If the search string was Fred([1-9])XXX and the replace string was Sam\1YYY, when applied to Fred2XXX this would generate Sam2YYY.
mais je ne pige pas pourquoi Sam2YYY et pas SamYYY

et si n=4 qu'est-ce que cela signifie ?

p.ex: J'ai testé :

rechercher : fred(.*)([0-9])xxx
remplacer par : sam\2YYY

sur : fredFord2XXX

ça donne : sam2YYY

=> Je ne comprends tjrs pas :sorry:

J'ai le neurone qui ramollit ? :021:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

À moins que ....

j'ai refait le test précédent

avec remplacer par : sam\3YYY

ça donne : samYYY

\n signifie-t-il : les n premiers morceaux en considérant que les morceaux sont délimités par ( ) sauf le premier ?
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
kyodev
Membre
Membre
Messages : 33
Inscription : 18 mars 2017, 15:12
Status : Hors-ligne

il faut te renseigner sur les regex.
. n'importe quel caractère
* quel qu'en soit le nombre
() crée un premier groupe utilisé plus tard par \1
donc pour inclure dans la recherche des parenthèses il faut les échapper avec \ : \(\)
\1 permet d'utiliser le groupe 1 mais parfois ça peut être $1

le FM de geany est null... rassures toi

commence par: https://fr.wikipedia.org/wiki/Expression_rationnelle

j'imagine que geany ne doit pas aller très loin et doit se limiter au regex basic.
(j'ai pas cherché à comprendre ton 2e post)
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

@ kyodev

Merci pour ces précisions

@+
**Simple Utilisateur** -- Debian stable - XFCE
Répondre