Chercher/Remplacer avec les expressions régulières avec jEdit

03/12/2003

jEdit est un éditeur bien sympathique, car il propose une fonctionnalité chercher/remplacer avancée.

Il est possible de chercher des chaines de caractères classiques, mais également des expressions régulières. Cette page liste quelques expressions que j’ai pu expérimentées avec bonheur.

Modifier un numéro numérique

But: modifier le numéro d’une dispositive, tous les chiffres sont décrémentés de 7. Diapositive8.png devient Diapositive1.png.

action valeur
chercher Diapositive(\d*)
remplacer par (texte) "Diapositive"+(new Integer(Integer.parseInt(_1)-7))

Transformer {abc} -> $(abc)

Les paranthèses, dans l’expression régulière, permettent de délimiter un groupe, qui sera repéré par $1(dans la version remplacement texte) ou _1 (dans la version remplacement pour du code beanshell) dans le texte de subsitution.

action valeur
chercher [{](.*?)[}]
remplacer par (texte) \$($1)
remplacer par (beanshell snippet) "$("+_1+")"

suppression d’un attribut

But: supprimer l’attribut lang="..." dans toutes les balises <title> de n documents

action valeur
chercher <title(.*?)(lang=".*?")(.*)
remplacer par (texte) <title $1 $3
remplacer par (beanshell snippet) "<title "+_1+" "+_3

Supprimer des espaces

But : supprimer n espaces entre un nom de balise et le premier attribut, c’est à dire passer de <doc id=...> à <doc id=...>

action valeur
chercher <doc\s{2,}(.*)
remplacer par (texte) <doc $1

Formater

But: changer le format de la ligne SQL en déclaration de propriété java (après une première substitution visant à supprimer le début de l’instruction INSERT...):

SQL : 145,'Une erreur quelconque');

java: ERREUR_145=Une erreur quelconque
action valeur
chercher (\d+),\s'(.*)'\);
remplacer par (texte) "ERREUR_"+_1+"="+_2

Chercher un bloc

But : chercher dans des pages jsp un entête (sur plusieurs lignes) qui commence par "page" et qui contient errorPage

chercher : page(.|\n)*errorPage

Variable %VAR% en $VAR

But: changer les noms de variables DOS, sous la forme %VAR% en nom de variable bash (linux), c’est à dire $VAR

action valeur
chercher %(\w*)%
remplacer par (texte) \$$1