Regex in zoeken en vervangen: een rustige gids met zeven recepten
Een reguliere expressie, of regex, is een patroon dat met een paar symbolen wordt geschreven. Zet in het hulpmiddel Zoeken en vervangen Regex aan, dan leest het vak Zoeken een patroon in plaats van gewone tekst. Een punt betekent dan een willekeurig teken en niet een letterlijke punt. De meeste bruikbare patronen hebben maar een handvol symbolen nodig. Zet Regex weer uit voor gewone woorden, want dan wordt elk symbool letterlijk genomen.
Zoeken en vervangenEen woord overal vervangenGratis doenDe symbolen die je nodig hebt
| Symbool | Komt overeen met |
|---|---|
| . | elk één teken behalve een regeleinde |
| * | het element ervoor, nul of vaker |
| + | het element ervoor, één of vaker |
| ? | het element ervoor, één keer of helemaal niet |
| [ ] | één teken uit de lijst, zoals [aeiou] of [0-9] |
| \d \w \s | een cijfer; een letter, cijfer of underscore; een spatie, tab of regeleinde |
| ( ) | een groep, die Vervangen opnieuw kan gebruiken als $1, $2 enzovoort |
| ^ en $ | het begin en het einde van de hele tekst |
Hoofdletters keren een klasse om: \D is elk niet-cijfer en \S elke niet-spatie.
Twee opmerkingen gelden voor dit hulpmiddel. Ten eerste komt \w alleen overeen met Engelse letters, cijfers en de underscore. Gebruik voor letters met accenten \p{L}, dat een letter uit elk alfabet vindt. Ten tweede komen ^ en $ overeen met het begin en het einde van de hele tekst, niet van elke regel. De onderstaande recepten gebruiken daarom een regeleinde binnen het patroon.
Groepen en $1
Zet een deel van een patroon tussen haakjes en het hulpmiddel onthoudt wat dat deel heeft gevonden. In Vervangen is $1 de eerste groep, $2 de tweede en $& de hele match. De FAQ van het hulpmiddel geeft een klassiek voorbeeld: met Zoeken ingesteld op (\w+)@(\w+) en Vervangen ingesteld op $2 at $1 wordt de tekst name@site site at name. Groepen werken alleen met Regex aan. Staat Regex uit, dan wordt $1 letterlijk overgenomen.
Bouw een patroon stap voor stap
Begin met de exacte tekst die je wilt vinden en vervang de delen die variëren door symbolen. Een datum als 2026-11-04 kan worden geschreven als \d{4}-\d{2}-\d{2}, waarbij {4} precies vier van het element ervoor betekent. Test eerst de eenvoudige versie en maak het patroon pas strikter als de markeringen laten zien dat er te veel wordt gevonden.
Als je wilt zien wat een patroon doet zonder iets te wijzigen, voert de Regex-tester het uit op een voorbeeldtekst en toont het elke match.
Zeven recepten
Zet Regex aan voor elk recept. Het hulpmiddel markeert de matches en toont hun aantal voordat je kopieert, dus test elk recept eerst op een kopie van je tekst.
- Voor- en achternaam omwisselen. Zoeken
(\w+) (\w+), Vervangen$2, $1. „Ada Lovelace” wordt „Lovelace, Ada”. Voor namen met accenten gebruik je(\p{L}+) (\p{L}+). Dit werkt alleen voor namen van twee woorden.
- Spaties aan het einde verwijderen. Zoeken
[ \t]+(?=\r?\n|$), Vervangen leeg laten. Het zoekt spaties of tabs die direct voor een regeleinde of het einde van de tekst staan. De lookahead(?=...)controleert op het regeleinde zonder het te verwijderen, en\r?dekt Windows-regeleinden. Geplakte tekst repareren heeft de optie Elke regel bijsnijden, die hetzelfde doet.
- Dubbele spaties samenvoegen. Zoeken
{2,}, dat is een spatie die twee of meer keer wordt herhaald, en Vervangen één spatie. Twee of meer spaties worden dan één spatie. Het verkleint ook inspringingen, dus sla dit recept over voor code.
- Een voorvoegsel toevoegen aan elke regel. Zoeken
(.+), Vervangen- $1. Elke reeks van één of meer tekens tussen regeleinden is een regel, en $1 bevat die regel. Lege regels worden overgeslagen. Gebruik de één-of-meer-vorm.+en niet de nul-of-meer-vorm, want die komt ook overeen met de lege plekken tussen regeleinden, waardoor lege regels een losse streep krijgen.
- Lege regels verwijderen. Zoeken
\n\s*(?=\n), Vervangen leeg laten. De match is een regeleinde plus alle witruimte erna, tot aan het volgende regeleinde, en dat volgende regeleinde blijft behouden. Zo verdwijnen lege regels, ook regels die alleen spaties bevatten. Omdat\sook wagenretours meeneemt, werken Windows-regeleinden eveneens. Een lege regel helemaal bovenaan de tekst blijft staan. De tool Dubbele regels verwijderen heeft de optie Lege regels verwijderen, die hetzelfde doet met één vinkje.
- Één item per regel. Zoeken
,[ ]*, Vervangen\n, en vink Lees \n en \t in Vervangen aan. „apples, pears, plums” wordt drie regels. Zonder het vinkje blijft \n staan als de twee tekens backslash en n.
- Elk getal tussen haakjes zetten. Zoeken
\d+, Vervangen[$&]. „Order 42 and 7” wordt „Order [42] and [7]”. $& is de hele match, dus er is geen groep nodig.
Controleer voordat je kopieert
- Het aantal matches en de markeringen laten zien wat het patroon heeft gevonden. Als de markeringen fout zijn, is het resultaat dat ook.
- Een patroon met een fout toont „Geen geldig patroon” onder de vakken. Los de fout op en het resultaat wordt bijgewerkt.
- Laat Vervangen leeg om elke match te verwijderen. De tekst in het vak zegt dat ook.
- Hoofdlettergevoelig staat standaard uit, dus de recepten zoeken hoofdletters en kleine letters op dezelfde manier. Zet het aan als hoofdletters ertoe doen.
- Om een letterlijke punt of haak te vinden met Regex aan, zet je er een backslash voor: \. of \[.
Randgevallen
- Gulzige matches.
.+pakt zoveel mogelijk. Om bij de eerste match te stoppen, voeg je een vraagteken toe:.+?. Dit is belangrijk voor tekst zoals<b>.+</b>, die over meerdere tags kan lopen. - Hele woorden. Voor een gewoon woord is Regex uit veiliger. Met Alleen hele woorden komt cat niet overeen binnen category, zoals de FAQ van het hulpmiddel uitlegt. De gids over zoeken en vervangen bevat meer voorbeelden van wijzigingen in hele woorden.
- Bewaar het origineel. Het resultaat verschijnt in een eigen vak en de invoer blijft ongewijzigd. Kopieer het resultaat pas als je tevreden bent.
Vertaald uit de Engels origineel met hulp van AI.
Reacties
Nog geen reacties. Wees de eerste.


