introduction aux RE "regular expression"
Les principales classes.
Nom | Équivalent | Description |
---|---|---|
\d | [0-9] | Un chiffre |
\D | [^0-9] | Caractère qui n'est pas un chiffre |
\w | [a-zA-Z0-9_] | Caractère alpha-numérique, ou underscore |
\W | [^a-zA-Z0-9_] | Caractère non alpha-numérique (autre que underscore) |
\s | Caractère "blanc" (espace, saut de ligne, tabulation, etc.) | |
\S | Caractère "non-blanc" | |
\b | Début / fin de mot (début de chaîne, espace, etc.) | |
\B | Ni début ni fin de mot |
Nom | Équivalent | Description |
---|---|---|
? | {0,1} | 0 ou 1 fois |
* | {0,} | N'importe quel nombre de fois |
+ | {1,} | Au moins une fois |
.at matches any three-character string ending with "at", "hat", "cat", and "bat" [hc]at matches "hat" and "cat". [^b]at matches all strings matched by .at except "bat". [^hc]at matches all strings matched by .at other than "hat" and "cat". ^[hc]at matches "hat" and "cat", but only at the beginning of the string or line. [hc]at$ matches "hat" and "cat", but only at the end of the string or line. \[.\] matches any single character surrounded by "[" and "]" since the brackets are escaped, eg: "[a]" and "[b]". s.* matches s followed by zero or more characters, eg: "s" and "saw" and "seed". [hc]?at matches "at", "hat", and "cat". [hc]*at matches "at", "hat", "cat", "hhat", "chat", "hcat", "cchchat", and so on. [hc]+at matches "hat", "cat", "hhat", "chat", "hcat", "cchchat", and so on, but not "at". cat|dog matches "cat" or "dog". trouver une ligne "img" sans "alt"^.*img((?!alt).)*$ trouver une adresse email valide ^([A-Z|a-z|0-9](\.|_){0,1})+[A-Z|a-z|0-9]\@([A-Z|a-z|0-9])+((\.){0,1}[A-Z|a-z|0-9]){2}\.[a-z]{2,3}$ src: https://regexr.com/3bcrb
l'éditeur N++ permet du recherche/remplace de base, mais aussi avec les RE Ctrl+F Ctrl+H Actuellement 4 onglets: (1) "Rechercher" (2) "Remplacer" (3) "Rechercher dans le fic d'un dossier" (4) "Marquer"---------------------------------------------------------------------------- (1) Rechercher | Remplacer | Rechercher dans les fic d'un dossier | Marquer | --- ------------------------------------------------------------- Recherche: [ABC____________________v] [ Suivant ] [x] = 2B [ Compter ] [ Recherche tous doc ] [ Recherche doc act ] [ Annuler ] [ ] Recherche AR [ ] Mot entier [x] Respect casse [x] Boucler -- "Mode de recherche" ------------ ( ) Mode normal ( ) Mode étendu (\n, \r, \t ...) (*) expression régulière Alt+E [ ] . match NL Alt+. [ ] . comprend ligne r (version FR ?)voir stackoverflow.com
------------------------------------------------------------------------------ Rechercher| (2) Remplacer | Rechercher dans les fic d'un dossier | Marquer | ----------- ------------------------------------------------- Recherche: [ABC________________v] [ Suivant ] Remplacer par: [DEF________________v] [ Remplacer ] [x] dans select [ Remplacer tout ] [ Remplacer tous doc ] [ Annuler ] [x] Respect casse [x] Boucler -- "Mode de recherche" ------------ (*) Mode normal ( ) Mode étendu (\n, \r, \t ...) ( ) expression régulière----------------------------------------------------------------------------- Rechercher| Remplacer | (3)Rechercher dans les fic d'un dossier | Marquer | -------------------------- ---------- Recherche: [ABC___________________v] [ Trouver tout ] Remplacer par: [DEF___________________v] [ Remplacer tout ] Filtres: [*.htm_________________v] [ Annuler ] Dossier: [D:\data\mon_rep___________v] [..] [ ] suivre doc act [x] sous-dossier [x] Respect casse [ ] dossiers cachés -- "Mode de recherche" ------------ (*) Mode normal ( ) Mode étendu (\n, \r, \t ...) ( ) expression régulière------------------------------------------------------------------------------ Rechercher| Remplacer | Rechercher dans les fic d'un dossier | (4) Marquer | --------------------------------------------------------------- Recherche: [____________________] [ Recherche tout ] [ Purger ] [ Annuler ] [ ] Marquer les lignes [ ] Purger à chaque fois [x] Respect casse [x] Boucler -- "Mode de recherche" ------------ (*) Mode normal ( ) Mode étendu (\n, \r, \t ...) ( ) expression régulière----pour "trouver" (puis supprimer) sur plusieurs lignes ex: tout entre "<div" et "</div>"
bla bla bla bla blaRecherche:----- Il est possible d'utiliser un module intégré... depuis "Edition / Ligne" / Enlever les lignes vides Déplacer la ligne vers le haut Ctrl+Shift+Up Déplacer la ligne vers le bas Ctrl+Shift+Down ... ----- Sinon, installer 2 plugins bien sympa TextFX: fenêtre Find/Replace de TextFX faite pour la manipulation des RE... ou un tri .... RegEx Helper: ce plugin permet de visualiser directement tous les résultats d'un motif RE. --- comparer L'autre truc cool c'est "Compléments/Compare/Compare" Ctrl+Alt+C pour comparer 2 fichiers "presque identique" PS: sous unix, un utilitaire équivalent: vimdiff 02/2019 - version: N++ v7.5.9 - N++ v7.5.6 home(*) expression régulière [x] . match NL ]+>(.*?)
Après avoir récupéré mon "title" et son nom de fichier, je veux inverser l'ordreinverser lignes paires et impaires (toujours avec N++, car je veux vérifier et supprimer des lignes)/mnt/d.../ski$ find . -name "*.htm" -exec grep -i ' index_search.txt Recherche: (^.+)(\R)(^.+)\R? Remplacer: $3$2$1$2 (*) RE ... [ Remplacer ... ]
"mettre le span existant en début de ligne" = utiliser les groupes40km 2h
------------------- (1) (2) (3) 40km 2h
(2) (1) (3) ou newRechercher: 1 2 3 ^(.*)()(.*)$ ou ^(.*)()(.*)$ Remplacer: $2$1$3 ou $1$3 (*) RE ... [ Remplacer ... ]
recoller la 2e ligne à la précédente = utiliser les groupes
et ainsi on pourra faire un tri (dans N++) de l'index avec "Edition / lignes / trier..."
check online
regex101.com/
regexr.com/
with explanation
regexpal.com
voir https://rubular.com/r/nfJdiHx2sE pour ex. 6 decimales
N++
nppmanuel.nliautaud.fr/expressions-regulieres
regex101.com/

regexr.com/

regexpal.com

voir https://rubular.com/r/nfJdiHx2sE pour ex. 6 decimales
N++
nppmanuel.nliautaud.fr/expressions-regulieres
