Test regulære udtryk med realtids match fremhævning, mønster validering og forklaringer af almindelige regex symboler. Gem og genbrug dine ofte brugte mønstre med brugerdefinerede etiketter.
Indtast et mønster og testtekst for at se resultater
Indtast et mønster og testtekst for at se resultater
Ingen gemte mønstre endnu
.
Matcher ethvert tegn undtagen linjeskift\d
Matcher ethvert ciffer (0-9)\D
Matcher ethvert ikke-ciffer\w
Matcher ethvert ordtegn (a-z, A-Z, 0-9, _)\W
Matcher ethvert ikke-ordtegn\s
Matcher ethvert whitespace-tegn\S
Matcher ethvert ikke-whitespace-tegn^
Matcher begyndelsen af linjen$
Matcher slutningen af linjen*
Matcher 0 eller flere af det forudgående tegn+
Matcher 1 eller flere af det forudgående tegn?
Matcher 0 eller 1 af det forudgående tegn{n}
Matcher n af det forudgående tegn præcist{n,}
Matcher mindst n af det forudgående tegn{n,m}
Matcher mellem n og m af det forudgående tegn[abc]
Matcher et hvilket som helst af tegnene i parenteserne[^abc]
Matcher ethvert tegn, der ikke er i parenteserne(abc)
Grupperer flere tokens sammen og fanger matchena|b
Matcher enten a eller b\b
Matcher en ordgrænsepositionEn Regular Expression (regex) mønster tester er et essentielt værktøj for udviklere, dataanalytikere og alle, der arbejder med tekstbehandling. Denne omfattende regex mønster validator giver dig mulighed for at oprette, teste og forfine regulære udtryk i realtid, hvilket giver øjeblikkelig visuel feedback på mønster matches. Uanset om du validerer e-mailadresser, parser logfiler eller udtrækker specifikke data fra tekst, gør vores regex tester udviklings- og fejlfindingsprocessen hurtigere og mere intuitiv.
Regulære udtryk er kraftfulde mønster-match sekvenser, der muliggør sofistikeret tekstsøgning, validering og manipulation. Dog kan deres syntaks være kompleks og udfordrende at mestre. Denne regex mønster tester forenkler processen ved at fremhæve matches, mens du skriver, validere mønster syntaks og give dig mulighed for at gemme ofte brugte mønstre til fremtidig reference.
At bruge vores regex mønster validator er ligetil og intuitivt. Følg disse trin for at komme i gang:
Indtast et Regular Expression Mønster: Skriv dit regex mønster i det angivne inputfelt. Værktøjet validerer dit mønster i realtid og advarer dig om eventuelle syntaksfejl.
Vælg Regex Flags: Vælg passende flags til dit mønster:
g
(Global): Find alle matches i stedet for at stoppe efter det første matchi
(Case Insensitive): Gør mønsteret case-insensitivem
(Multiline): Gør ^
og $
matcher starten/slutningen af hver linjeIndtast Testtekst: Indtast den tekst, du vil teste mod dit mønster i testtekstområdet.
Se Resultater i Real-Time: Mens du skriver, fremhæver værktøjet automatisk:
Gem Nyttige Mønstre: For mønstre, du bruger ofte:
Kopier Resultater: Brug "Kopier Matches" knappen til at kopiere al matchet tekst til din udklipsholder til brug i andre applikationer.
Grænsefladen er opdelt i to hovedpaneler: inputpanelet, hvor du indtaster dit mønster og testtekst, og resultatpanelet, der viser matches og mønsterinformation.
Regulære udtryk bruger specialtegn og sekvenser til at definere søgemønstre. Her er en guide til de grundlæggende regex symboler, der understøttes af vores værktøj:
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
. | Matcher ethvert tegn undtagen newline | a.c | "abc", "adc", "a1c", osv. |
\d | Matcher ethvert ciffer (0-9) | \d{3} | "123", "456", "789", osv. |
\D | Matcher ethvert ikke-ciffer | \D+ | "abc", "xyz", osv. |
\w | Matcher ethvert ordtegn (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", osv. |
\W | Matcher ethvert ikke-ordtegn | \W+ | "!@#", " + ", osv. |
\s | Matcher ethvert whitespace-tegn | a\sb | "a b", "a\tb", osv. |
\S | Matcher ethvert ikke-whitespace-tegn | \S+ | "abc", "123", osv. |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
^ | Matcher begyndelsen af linjen | ^abc | "abc" i begyndelsen af en linje |
$ | Matcher slutningen af linjen | abc$ | "abc" i slutningen af en linje |
\b | Matcher en ordgrænse | \bword\b | "word" som et komplet ord |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
* | Matcher 0 eller flere af det foregående tegn | a*b | "b", "ab", "aab", osv. |
+ | Matcher 1 eller flere af det foregående tegn | a+b | "ab", "aab", "aaab", osv. |
? | Matcher 0 eller 1 af det foregående tegn | colou?r | "color", "colour" |
{n} | Matcher præcist n af det foregående tegn | a{3} | "aaa" |
{n,} | Matcher mindst n af det foregående tegn | a{2,} | "aa", "aaa", "aaaa", osv. |
{n,m} | Matcher mellem n og m af det foregående tegn | a{2,4} | "aa", "aaa", "aaaa" |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
[abc] | Matcher et hvilket som helst af tegnene i parenteserne | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Matcher et hvilket som helst tegn, der ikke er i parenteserne | [^aeiou] | Ethvert tegn undtagen "a", "e", "i", "o", "u" |
[a-z] | Matcher ethvert tegn i intervallet | [a-z] | Ethvert lille bogstav |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
(abc) | Grupperer flere tokens sammen og fanger matchen | (abc)+ | "abc", "abcabc", osv. |
a|b | Matcher enten a eller b | cat|dog | "cat", "dog" |
Når du har mestret det grundlæggende, kan du oprette mere sofistikerede mønstre til at løse komplekse tekstbehandlingsudfordringer:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Dette mønster validerer e-mailadresser ved at sikre, at de følger den standardiserede form: brugernavn@domæne.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Dette mønster validerer URLs, inklusive dem med eller uden http/https protokol.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Dette mønster matcher amerikanske telefonnumre i forskellige formater: (123) 456-7890, 123-456-7890 eller 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Dette mønster validerer datoer i YYYY-MM-DD formatet med grundlæggende validering for måned- og dagsintervaller.
Lookahead og lookbehind assertions giver dig mulighed for at matche mønstre kun hvis de efterfølges af eller forudgås af et andet mønster:
a(?=b)
matcher "a" kun hvis det efterfølges af "b"a(?!b)
matcher "a" kun hvis det ikke efterfølges af "b"(?<=a)b
matcher "b" kun hvis det forudgås af "a"(?<!a)b
matcher "b" kun hvis det ikke forudgås af "a"Vores regex tester understøtter forskellige flags, der ændrer, hvordan mønstre matches:
^
og $
matcher starten/slutningen af hver linjeRegulære udtryk har adskillige praktiske anvendelser på tværs af forskellige områder:
Form Validering: Sørg for, at brugerinput matcher krævede formater:
^[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: Udtræk specifikke elementer eller attributter:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Logfil Analyse: Udtræk information fra logposter:
\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: Behandl komma-separerede værdier med potentielle citerede felter:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Find og Erstat: Identificer mønstre til erstatning:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Indhold Udtrækning: Træk specifik information fra ustruktureret 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})?
Syntaks Fremhævning: Identificer sprogkonstruktioner:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Kode Refactoring: Find mønstre, der skal opdateres:
\.oldMethod\(
eval\(
Vores regex mønster tester inkluderer et mønsterstyringssystem, der giver dig mulighed for at gemme og genbruge dine ofte brugte udtryk:
Overvej at gemme mønstre, der:
Når du gemmer mønstre, skal du bruge beskrivende etiketter, der:
Organiser dine gemte mønstre efter:
Mens vores værktøj ikke direkte understøtter mønsterdeling mellem brugere, kan du:
Selv erfarne udviklere støder på udfordringer med regulære udtryk. Her er løsninger på almindelige problemer:
Hvis dit mønster viser en valideringsfejl:
Hvis din regex er langsom eller forårsager browserlag:
(a+)+
)Hvis dit mønster matcher uønsket tekst:
^
og $
) til at matche hele strenge\b
) hvor det er passendeHvis dit mønster ikke matcher forventet tekst:
i
flaget)Selvom regex er kraftfuldt, er det ikke altid den bedste løsning til hver tekstbehandlingsopgave:
For enkle tekstoperationer er native strengmetoder ofte klarere og mere effektive:
String.indexOf()
til at finde substrengeString.startsWith()
og String.endsWith()
til at kontrollere strenggrænserString.split()
til grundlæggende tokeniseringFor strukturerede dataformater er dedikerede parsere mere robuste:
For at forstå tekstens betydning snarere end blot mønstre:
Overvej alternativer til regex, når:
Et regulært udtryk (regex) er en sekvens af tegn, der definerer et søgemønster. Disse mønstre kan bruges til strengsøgning, matchning og tekstmanipulationsoperationer.
En regex mønster tester hjælper dig med at udvikle og fejlfinde regulære udtryk ved at give øjeblikkelig visuel feedback på matches, validere mønster syntaks og give dig mulighed for at eksperimentere med forskellige mønstre og flags uden at skulle implementere dem i kode først.
For at matche litterære specialtegn, der normalt har en særlig betydning i regex, skal du undslippe dem med en skråstreg. For eksempel, for at matche en litterær prik, brug \.
i stedet for blot .
.
.*
og .*?
i et regex mønster?.*
er en grådig kvantifikator, der matcher så mange tegn som muligt, mens .*?
er en doven (ikke-grådig) kvantifikator, der matcher så få tegn som muligt. Denne forskel er vigtig, når du ønsker at finde den korteste match snarere end den længste.
Selvom den grundlæggende regex syntaks er ens på tværs af mange sprog, er der subtile forskelle i implementeringen. Vores tester bruger JavaScripts regex-motor, som er kompatibel med mange web-sprog, men kan have forskelle fra regex i sprog som Python, Java eller Perl.
For at validere, at en hel streng matcher et mønster, skal du bruge ^
ankeret i begyndelsen og $
ankeret i slutningen af dit regex. For eksempel, ^[0-9]+$
matcher kun strenge, der udelukkende består af cifre.
Fangende grupper, der oprettes med parenteser ()
, giver dig mulighed for at udtrække specifikke dele af den matchede tekst. I vores tester kan du se alle matches, inklusive fangede grupper. I programmeringssprog kan du typisk få adgang til disse fangster ved at indeksere matchresultatet.
For at forbedre regex effektivitet: vær specifik med tegnklasser, undgå unødvendige fangende grupper (brug ikke-fangende grupper (?:...)
, når det er muligt), begræns brugen af lookaheads/lookbehinds, og undgå katastrofal backtracking mønstre som indlejrede kvantifikatorer.
Almindelige fejl inkluderer: ikke at undslippe specialtegn, at skabe mønstre, der er for grådige, at glemme at ankre mønstre (med ^
og $
), og at skrive alt for komplekse udtryk, der er svære at vedligeholde.
Regulære udtryk er ikke godt egnet til at parse indlejrede strukturer som HTML eller XML. Selvom du kan oprette regex mønstre til simpel HTML matchning, er det generelt bedre at bruge en dedikeret HTML-parser til kompleks HTML-behandling.
Prøv vores regex mønster tester i dag for at forenkle dine tekstbehandlingsopgaver, validere inputformater og udtrække meningsfulde data fra ustruktureret tekst. Uanset om du er en nybegynder, der lærer det grundlæggende om regulære udtryk, eller en erfaren udvikler, der arbejder med komplekse mønster matchning, giver vores værktøj de funktioner, du har brug for til effektivt at oprette, teste og forfine dine regex mønstre.
Opdag flere værktøjer, der måske kan være nyttige for din arbejdsgang.