Test reguliere expressies met realtime matchmarkering, patroonvalidatie en uitleg van veelvoorkomende regex-symbolen. Bewaar en hergebruik je vaak gebruikte patronen met aangepaste labels.
Voer een patroon en testtekst in om resultaten te zien
Voer een patroon en testtekst in om resultaten te zien
Nog geen opgeslagen patronen
.
Komt overeen met elk teken behalve een nieuwe regel\d
Komt overeen met elk cijfer (0-9)\D
Komt overeen met elk niet-cijfer\w
Komt overeen met elk woordteken (a-z, A-Z, 0-9, _)\W
Komt overeen met elk niet-woordteken\s
Komt overeen met elk witruimte teken\S
Komt overeen met elk niet-witruimte teken^
Komt overeen met het begin van de regel$
Komt overeen met het einde van de regel*
Komt overeen met 0 of meer van het voorafgaande teken+
Komt overeen met 1 of meer van het voorafgaande teken?
Komt overeen met 0 of 1 van het voorafgaande teken{n}
Komt overeen met precies n van het voorafgaande teken{n,}
Komt overeen met ten minste n van het voorafgaande teken{n,m}
Komt overeen met tussen n en m van het voorafgaande teken[abc]
Komt overeen met een van de tekens in de haakjes[^abc]
Komt overeen met elk teken dat niet in de haakjes staat(abc)
Groep meerdere tokens samen en vangt de overeenkomsta|b
Komt overeen met of a of b\b
Komt overeen met een woordgrenspositieEen Regular Expression (regex) patroon tester is een essentieel hulpmiddel voor ontwikkelaars, data-analisten en iedereen die met tekstverwerking werkt. Deze uitgebreide regex patroon validator stelt je in staat om reguliere expressies in real-time te maken, testen en verfijnen, met onmiddellijke visuele feedback over patroonovereenkomsten. Of je nu e-mailadressen valideert, logbestanden parseert of specifieke gegevens uit tekst extraheert, onze regex tester maakt het ontwikkelings- en debugproces sneller en intuĆÆtiever.
Reguliere expressies zijn krachtige patroonherkenningssequenties die geavanceerd zoeken, valideren en manipuleren van tekst mogelijk maken. De syntaxis kan echter complex en moeilijk te beheersen zijn. Deze regex patroon tester vereenvoudigt het proces door overeenkomsten te markeren terwijl je typt, de patroon syntaxis te valideren en je in staat te stellen om vaak gebruikte patronen voor toekomstig gebruik op te slaan.
Het gebruik van onze regex patroon validator is eenvoudig en intuĆÆtief. Volg deze stappen om aan de slag te gaan:
Voer een Reguliere Expressie Patroon in: Typ je regex patroon in het aangewezen invoerveld. De tool valideert je patroon in real-time en waarschuwt je voor eventuele syntaxisfouten.
Selecteer Regex Vlaggen: Kies de juiste vlaggen voor je patroon:
g
(Globaal): Vind alle overeenkomsten in plaats van te stoppen na de eerste overeenkomsti
(Hoofdletterongevoelig): Maak het patroon hoofdletterongevoeligm
(Multiline): Laat ^
en $
het begin/einde van elke regel matchenVoer Testtekst in: Voer de tekst in die je wilt testen tegen je patroon in het testtekstgebied.
Bekijk Resultaten in Real-Time: Terwijl je typt, markeert de tool automatisch:
Sla Nuttige Patronen op: Voor patronen die je vaak gebruikt:
Kopieer Resultaten: Gebruik de knop "Kopieer Overeenkomsten" om alle gematchte tekst naar je klembord te kopiƫren voor gebruik in andere toepassingen.
De interface is verdeeld in twee hoofdpanelen: het invoerpaneel waar je je patroon en testtekst invoert, en het resultaatpaneel dat overeenkomsten en patrooninformatie weergeeft.
Reguliere expressies gebruiken speciale tekens en sequenties om zoekpatronen te definiƫren. Hier is een gids voor de fundamentele regex-symbolen die door onze tool worden ondersteund:
Symbool | Beschrijving | Voorbeeld | Overeenkomsten |
---|---|---|---|
. | Matcht elk teken behalve een nieuwe regel | a.c | "abc", "adc", "a1c", enz. |
\d | Matcht elk cijfer (0-9) | \d{3} | "123", "456", "789", enz. |
\D | Matcht elk niet-cijfer | \D+ | "abc", "xyz", enz. |
\w | Matcht elk woordteken (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", enz. |
\W | Matcht elk niet-woordteken | \W+ | "!@#", " + ", enz. |
\s | Matcht elk witruimte-teken | a\sb | "a b", "a\tb", enz. |
\S | Matcht elk niet-witruimte-teken | \S+ | "abc", "123", enz. |
Symbool | Beschrijving | Voorbeeld | Overeenkomsten |
---|---|---|---|
^ | Matcht het begin van de regel | ^abc | "abc" aan het begin van een regel |
$ | Matcht het einde van de regel | abc$ | "abc" aan het einde van een regel |
\b | Matcht een woordgrens | \bword\b | "word" als een compleet woord |
Symbool | Beschrijving | Voorbeeld | Overeenkomsten |
---|---|---|---|
* | Matcht 0 of meer van het voorgaande teken | a*b | "b", "ab", "aab", enz. |
+ | Matcht 1 of meer van het voorgaande teken | a+b | "ab", "aab", "aaab", enz. |
? | Matcht 0 of 1 van het voorgaande teken | colou?r | "color", "colour" |
{n} | Matcht exact n van het voorgaande teken | a{3} | "aaa" |
{n,} | Matcht ten minste n van het voorgaande teken | a{2,} | "aa", "aaa", "aaaa", enz. |
{n,m} | Matcht tussen n en m van het voorgaande teken | a{2,4} | "aa", "aaa", "aaaa" |
Symbool | Beschrijving | Voorbeeld | Overeenkomsten |
---|---|---|---|
[abc] | Matcht elk van de tekens in de haakjes | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Matcht elk teken dat niet in de haakjes staat | [^aeiou] | Elk teken behalve "a", "e", "i", "o", "u" |
[a-z] | Matcht elk teken in het bereik | [a-z] | Elke kleine letter |
Symbool | Beschrijving | Voorbeeld | Overeenkomsten |
---|---|---|---|
(abc) | Groepeert meerdere tokens samen en vangt de overeenkomst | (abc)+ | "abc", "abcabc", enz. |
a|b | Matcht of a of b | cat|dog | "cat", "dog" |
Zodra je de basisprincipes onder de knie hebt, kun je meer geavanceerde patronen maken om complexe tekstverwerkingsuitdagingen op te lossen:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Dit patroon valideert e-mailadressen door ervoor te zorgen dat ze het standaardformaat volgen: gebruikersnaam@domein.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Dit patroon valideert URL's, inclusief die met of zonder het http/https-protocol.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Dit patroon matcht Amerikaanse telefoonnummers in verschillende formaten: (123) 456-7890, 123-456-7890 of 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Dit patroon valideert datums in het JJJJ-MM-DD-formaat, met basisvalidatie voor maand- en dagbereiken.
Lookahead- en lookbehind-asserties stellen je in staat om patronen alleen te matchen als ze gevolgd of voorafgegaan worden door een ander patroon:
a(?=b)
matcht "a" alleen als het gevolgd wordt door "b"a(?!b)
matcht "a" alleen als het niet gevolgd wordt door "b"(?<=a)b
matcht "b" alleen als het voorafgegaan wordt door "a"(?<!a)b
matcht "b" alleen als het niet voorafgegaan wordt door "a"Onze regex tester ondersteunt verschillende vlaggen die de manier waarop patronen worden gematcht wijzigen:
^
en $
het begin/einde van elke regel matchenReguliere expressies hebben talloze praktische toepassingen in verschillende gebieden:
Formuliervalidatie: Zorg ervoor dat gebruikersinvoer overeenkomt met vereiste formaten:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
HTML Parsing: Extraheer specifieke elementen of attributen:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Logbestand Analyse: Extraheer informatie uit logvermeldingen:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
CSV Parsing: Verwerk komma-gescheiden waarden met mogelijke gequote velden:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Zoeken en Vervangen: Identificeer patronen voor vervanging:
<[^>]*>
(\d{3})(\d{3})(\d{4})
ā ($1) $2-$3
Inhoud Extractie: Trek specifieke informatie uit ongestructureerde tekst:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Syntax Highlighting: Identificeer taalconstructies:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Code Refactoring: Vind patronen die moeten worden bijgewerkt:
\.oldMethod\(
eval\(
Onze regex patroon tester bevat een patroonbeheersysteem waarmee je je vaak gebruikte expressies kunt opslaan en hergebruiken:
Overweeg om patronen op te slaan die:
Bij het opslaan van patronen, gebruik beschrijvende labels die:
Organiseer je opgeslagen patronen op basis van:
Hoewel onze tool geen directe ondersteuning biedt voor het delen van patronen tussen gebruikers, kun je:
Zelfs ervaren ontwikkelaars komen uitdagingen tegen met reguliere expressies. Hier zijn oplossingen voor veelvoorkomende problemen:
Als je patroon een validatiefout toont:
Als je regex traag is of browservertraging veroorzaakt:
(a+)+
)Als je patroon ongewenste tekst matcht:
^
en $
) om volledige tekenreeksen te matchen\b
) toe waar nodigAls je patroon geen verwachte tekst matcht:
i
vlag te gebruiken)Hoewel regex krachtig is, is het niet altijd de beste oplossing voor elke tekstverwerkingstaak:
Voor eenvoudige tekstbewerkingen zijn native stringmethoden vaak duidelijker en efficiƫnter:
String.indexOf()
voor het vinden van substringsString.startsWith()
en String.endsWith()
voor het controleren van stringgrenzenString.split()
voor basis-tokenisatieVoor gestructureerde gegevensformaten zijn speciale parsers robuuster:
Voor het begrijpen van de betekenis van tekst in plaats van alleen patronen:
Overweeg alternatieven voor regex wanneer:
Een reguliere expressie (regex) is een reeks tekens die een zoekpatroon definieert. Deze patronen kunnen worden gebruikt voor string zoeken, matchen en tekstmanipulatieoperaties.
Een regex patroon tester helpt je bij het ontwikkelen en debuggen van reguliere expressies door onmiddellijke visuele feedback over overeenkomsten te geven, de patroon syntaxis te valideren en je in staat te stellen om te experimenteren met verschillende patronen en vlaggen zonder ze eerst in code te implementeren.
Om letterlijk speciale tekens te matchen die normaal gesproken speciale betekenis hebben in regex, moet je ze ontsnappen met een backslash. Bijvoorbeeld, om een letterlijk punt te matchen, gebruik \.
in plaats van alleen .
.
.*
en .*?
in een regex patroon?De .*
is een hebzuchtige kwantificator die zoveel mogelijk tekens matcht, terwijl .*?
een luie (niet-hegzuchtige) kwantificator is die zo min mogelijk tekens matcht. Deze onderscheid is belangrijk wanneer je de kortste overeenkomst wilt vinden in plaats van de langste.
Hoewel de kern regex-syntaxis vergelijkbaar is in veel talen, zijn er subtiele verschillen in implementatie. Onze tester gebruikt de regex-engine van JavaScript, die compatibel is met veel webtalen, maar mogelijk verschillen heeft van regex in talen zoals Python, Java of Perl.
Om te valideren dat een gehele string overeenkomt met een patroon, gebruik je de ^
-anker aan het begin en de $
-anker aan het einde van je regex. Bijvoorbeeld, ^[0-9]+$
matcht alleen strings die volledig uit cijfers bestaan.
Capturerende groepen, gemaakt met haakjes ()
, stellen je in staat om specifieke delen van de gematchte tekst te extraheren. In onze tester kun je alle overeenkomsten zien, inclusief de gevangen groepen. In programmeertalen kun je deze vastleggingen meestal benaderen door de matchresultaten te indexeren.
Om de efficiƫntie van regex te verbeteren: wees specifiek met tekenklassen, vermijd onnodige capturerende groepen (gebruik niet-capturerende groepen (?:...)
waar mogelijk), beperk het gebruik van lookaheads/lookbehinds, en vermijd catastrofale teruglooppatronen zoals geneste kwantificatoren.
Veelvoorkomende fouten zijn: het niet ontsnappen van speciale tekens, het creƫren van patronen die te hebzuchtig zijn, het vergeten van het anker van patronen (met ^
en $
), en het schrijven van te complexe expressies die moeilijk te onderhouden zijn.
Reguliere expressies zijn niet goed geschikt voor het parseren van geneste structuren zoals HTML of XML. Hoewel je regex-patronen kunt maken voor eenvoudige HTML-matching, is het over het algemeen beter om een speciale HTML-parser te gebruiken voor complexe HTML-verwerking.
Probeer vandaag nog onze regex patroon tester om je tekstverwerkingstaken te vereenvoudigen, invoerformaten te valideren en betekenisvolle gegevens uit ongestructureerde tekst te extraheren. Of je nu een beginner bent die de basisprincipes van reguliere expressies leert of een ervaren ontwikkelaar die werkt aan complexe patroonmatching, onze tool biedt de functies die je nodig hebt om je regex patronen efficiƫnt te creƫren, testen en verfijnen.
Ontdek meer tools die handig kunnen zijn voor uw workflow