Filtrez vos lignes par regex
Collez une liste, écrivez une regex, récupérez uniquement les lignes qui correspondent. Conçu pour le nettoyage de logs, les listes de prospects et tout texte où vous avez juste besoin des bonnes lignes.
Ou appuyez sur Ctrl+Entrée
Quand utiliser cet outil
guideGarder uniquement les lignes ERROR/WARN d'un journal de 50 000 lignes sans lancer grep sur un serveur.
Sur une longue liste d'e-mails, extraire uniquement les adresses gmail ou uniquement le domaine @votreentreprise.com.
Réduire un export sitemap aux URLs correspondant à un motif de chemin — sans dialogue de filtre Excel.
Itérer visuellement sur la regex : modifier, cliquer Exécuter, voir quelles lignes restent. Six préréglages pour démarrer.
Comment ça marche
trois étapes-
01
Collez votre texte ou déposez un .txt
Aperçu en temps réel jusqu'à 100 000 lignes sur ordinateur / 5 000 sur mobile. Au-delà, l'outil bascule en mode fichier volumineux automatiquement — même moteur, la page reste réactive et livre un .txt en téléchargement.
-
02
Écrivez une regex
Variante JavaScript (sans slashes). 15 préréglages couvrent email, URL, IP, dates, heures, téléphones — plus des motifs paramétriques (Starts/Ends/Contains) avec le placeholder abc surligné.
-
03
Cliquez Exécuter
Les lignes qui correspondent restent, le reste est éliminé. Activez « Sensible à la casse », « Couper les espaces », « Supprimer les vides », « Dédoublonner » ou « Mélanger » avant exécution.
Sous le capot
notes techniques- Algorithme
- RegExp natif JavaScript · un re.test() par ligne
- Débit
- 100 000 lignes testées en ≈380 ms sur un MacBook Air M3 2024
- Threading
- Web Worker pour les fichiers ≥ 2 Mo ou ≥ 100 000 lignes
Le même moteur ECMA-262 que V8 / SpiderMonkey utilisent. Flag i par défaut (insensible à la casse) sauf si l'option « Sensible à la casse » est activée.
Scan O(n), pas d'allocation par ligne au-delà de la chaîne correspondante. Plafond dur de 80 Mo par exécution contre les entrées gigantesques accidentelles.
Le thread principal reste interactif ; le Worker importe le même moteur dedupe.js et renvoie le résultat à la fin.
Confidentialité et limites
ce qui reste oùTout tourne dans votre navigateur. Votre texte n'est jamais téléversé — pas de fetch, pas de XHR, pas d'analytics sur ce que vous collez. Après chargement vous pouvez vous déconnecter du réseau et l'outil fonctionne encore. Plafond dur de 80 Mo par exécution contre les logs multi-gigaoctets.
Cas d'usage courants
où ça s'appliqueFiltrage de logs à grande échelle
D'un log serveur de 100 000 lignes, ne gardez que les lignes ERROR / WARN / FATAL. Itérez le motif visuellement plutôt que de vous connecter en SSH pour tester des variantes de grep.
Nettoyage de listes de leads
D'un export email de 50 000 lignes, extrayez seulement les adresses gmail.com ou @votre-société.com — pas de danse de filtres Excel, pas de téléversement.
Audit de sitemap
Réduisez un dump de sitemap de 200 000 lignes aux URLs qui correspondent à un motif de chemin. Combinez avec l'outil de dédoublonnage de la page d'accueil pour des URLs uniques.
Tester des motifs sans quitter vos données
Itérez une regex contre votre liste réelle (pas les exemples-jouets de regex101) sans rien téléverser. Ajustez, exécutez, regardez les correspondances.
Performances et comparaison
chiffres réels| Métrique | Valeur | Notes |
|---|---|---|
| Débit · 100 000 lignes | DedupeLines : ~380 ms (Chrome 132) · GNU grep -E : ~160 ms | Mesuré sur MacBook Air M3 2024. Dataset de référence : 100 000 lignes de log, motif /^(ERROR|WARN)/. grep gagne en vitesse brute ; DedupeLines gagne en « pas de SSH, pas d'installation, marche dans n'importe quel onglet — y compris iPad et Windows corporate verrouillé ». |
| Empreinte mémoire | DedupeLines : ~3× l'entrée dans le heap JS · grep : ~1.2× l'entrée en RSS | Surcharge du JS navigateur par rapport au binaire natif. Plafond dur 80 Mo par exécution contre les crashes OOM ; un log de 50 Mo reste sous 200 Mo en résident. |
| Seuil de décharge async | DedupeLines : 2 Mo / 100 000 lignes (ordinateur) · regex101.com : ~50 000 caractères limite éditeur | Au-delà du seuil, DedupeLines décharge vers un Web Worker ; le thread principal reste interactif. Les limites mémoire d'iOS Safari motivent le seuil mobile plus bas (300 Ko / 5 000 lignes). |
| Moteur regex | DedupeLines : ECMA-262 §22.2 RegExp · grep : POSIX BRE / ERE | RegExp natif JavaScript — même moteur dans Chrome, Firefox, Safari, Edge. Lookbehind, groupes nommés, échappements de propriétés Unicode (\p{…}) tous supportés. La variante POSIX dans grep est plus conservatrice. |
| Latence à froid | DedupeLines : 0 ms (page déjà chargée) · SSH vers serveur distant : 200-500 ms RTT | Pas d'aller-retour vers une machine distante. Une fois la page chargée, le regex tourne aussi vite qu'une touche pressée, et l'outil marche hors ligne. |
Questions fréquentes
réponduesQuelle saveur de regex est utilisée ?
RegExp natif JavaScript (ECMA-262). Lookbehind, groupes nommés, échappements de propriété Unicode (\p{…}) fonctionnent dans Chrome, Firefox, Safari et Edge modernes. Ne préfixez pas votre motif par / ; les slashes autour du champ sont décoratifs.
Pourquoi ma regex ne match rien ?
Trois causes fréquentes : (1) l'option « Couper les espaces » est éteinte et vos lignes ont des espaces de fin qui cassent les ancres ^…$, (2) l'option « Sensible à la casse » est active et vos caractères diffèrent en casse, (3) vous avez échappé les slashes — JavaScript regex ne le demande pas.
Le motif peut-il s'étendre sur plusieurs lignes ?
Non — cet outil exécute la regex ligne par ligne, par conception. Pour une correspondance sur plusieurs lignes, utilisez un IDE regex comme regex101.com qui gère dotall et les ancres multiline directement.
Mes données partent-elles quelque part ?
Non. Tout se passe entièrement dans votre onglet. Aucune étape de téléversement, aucun traitement côté serveur, aucune télémétrie sur le texte que vous collez. Déconnectez le Wi-Fi après chargement et l'outil fonctionne encore.
Quelle est la limite de taille ?
Plafond dur de 80 Mo par exécution. Au-delà de 2 Mo sur ordinateur (300 Ko sur mobile) l'outil bascule en mode fichier volumineux — votre texte ne passe pas par le textarea, le traitement se fait dans un Web Worker, et le résultat est téléchargé en .txt.