Test regulære uttrykk med sanntids utheving av treff, mønstervalidasjon og forklaringer på vanlige regex-symboler. Lagre og gjenbruk ofte brukte mønstre med tilpassede etiketter.
Skriv inn et mønster og testtekst for å se resultater
Skriv inn et mønster og testtekst for å se resultater
Ingen lagrede mønstre ennå
.
Matcher ethvert tegn unntatt linjeskift\d
Matcher ethvert siffer (0-9)\D
Matcher ethvert ikke-siffer\w
Matcher ethvert ordtegn (a-z, A-Z, 0-9, _)\W
Matcher ethvert ikke-ordtegn\s
Matcher ethvert hvitt tegn\S
Matcher ethvert ikke-hvitt tegn^
Matcher starten av linjen$
Matcher slutten av linjen*
Matcher 0 eller flere av det foregående tegnet+
Matcher 1 eller flere av det foregående tegnet?
Matcher 0 eller 1 av det foregående tegnet{n}
Matcher n av det foregående tegnet nøyaktig{n,}
Matcher minst n av det foregående tegnet{n,m}
Matcher mellom n og m av det foregående tegnet[abc]
Matcher ett av tegnene i klammeparentesene[^abc]
Matcher ethvert tegn som ikke er i klammeparentesene(abc)
Grupperer flere token sammen og fanger opp treffeta|b
Matcher enten a eller b\b
Matcher en ordgrenseposisjonEn Regular Expression (regex) mønster tester er et essensielt verktøy for utviklere, dataanalytikere, og alle som arbeider med tekstbehandling. Denne omfattende regex mønster validatoren lar deg lage, teste og forbedre regulære uttrykk i sanntid, og gir umiddelbar visuell tilbakemelding på mønster treff. Enten du validerer e-postadresser, parser loggfiler, eller henter spesifikke data fra tekst, gjør vår regex tester utviklings- og feilsøkingsprosessen raskere og mer intuitiv.
Regulære uttrykk er kraftige mønster-matching sekvenser som muliggjør sofistikert tekstsøk, validering og manipulering. Imidlertid kan syntaksen deres være kompleks og vanskelig å mestre. Denne regex mønster tester forenkler prosessen ved å fremheve treff mens du skriver, validere mønster syntaks, og la deg lagre ofte brukte mønstre for fremtidig referanse.
Å bruke vår regex mønster validator er enkelt og intuitivt. Følg disse trinnene for å komme i gang:
Skriv inn et regulært uttrykk mønster: Skriv regex mønsteret ditt i det angitte inndataboksen. Verktøyet validerer mønsteret ditt i sanntid, og varsler deg om eventuelle syntaksfeil.
Velg Regex-flagg: Velg passende flagg for mønsteret ditt:
g
(Global): Finn alle treff i stedet for å stoppe etter det første treffeti
(Saksløs): Gjør mønsteret saksløstm
(Flermiljø): Gjør at ^
og $
matcher starten/slutten av hver linjeSkriv inn testtekst: Skriv inn teksten du vil teste mot mønsteret ditt i testtekstområdet.
Se resultater i sanntid: Mens du skriver, fremhever verktøyet automatisk:
Lagre nyttige mønstre: For mønstre du bruker ofte:
Kopier resultater: Bruk "Kopier treff" knappen for å kopiere all matchet tekst til utklippstavlen for bruk i andre applikasjoner.
Grensesnittet er delt inn i to hovedpaneler: inndatapanelet hvor du skriver inn mønsteret og testteksten, og resultatspanelet som viser treff og mønsterinformasjon.
Regulære uttrykk bruker spesielle tegn og sekvenser for å definere søkemønstre. Her er en guide til de grunnleggende regex-symbolene som støttes av vårt verktøy:
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
. | Matcher ethvert tegn unntatt ny linje | a.c | "abc", "adc", "a1c", osv. |
\d | Matcher ethvert siffer (0-9) | \d{3} | "123", "456", "789", osv. |
\D | Matcher ethvert ikke-siffer | \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 hvitt tegn | a\sb | "a b", "a\tb", osv. |
\S | Matcher ethvert ikke-hvitt tegn | \S+ | "abc", "123", osv. |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
^ | Matcher starten av linjen | ^abc | "abc" i begynnelsen av en linje |
$ | Matcher slutten av linjen | abc$ | "abc" på slutten av en linje |
\b | Matcher en ordgrense | \bword\b | "word" som et komplett ord |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
* | Matcher 0 eller flere av det foregående tegnet | a*b | "b", "ab", "aab", osv. |
+ | Matcher 1 eller flere av det foregående tegnet | a+b | "ab", "aab", "aaab", osv. |
? | Matcher 0 eller 1 av det foregående tegnet | colou?r | "color", "colour" |
{n} | Matcher n av det foregående tegnet | a{3} | "aaa" |
{n,} | Matcher minst n av det foregående tegnet | a{2,} | "aa", "aaa", "aaaa", osv. |
{n,m} | Matcher mellom n og m av det foregående tegnet | a{2,4} | "aa", "aaa", "aaaa" |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
[abc] | Matcher et av tegnene i klammene | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Matcher ethvert tegn som ikke er i klammene | [^aeiou] | Ethvert tegn unntatt "a", "e", "i", "o", "u" |
[a-z] | Matcher ethvert tegn i området | [a-z] | Ethvert små bokstav |
Symbol | Beskrivelse | Eksempel | Matcher |
---|---|---|---|
(abc) | Grupperer flere tegn sammen og fanger opp treffet | (abc)+ | "abc", "abcabc", osv. |
a|b | Matcher enten a eller b | cat|dog | "cat", "dog" |
Når du har mestret det grunnleggende, kan du lage mer sofistikerte mønstre for å løse komplekse tekstbehandlingsutfordringer:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Dette mønsteret validerer e-postadresser ved å sikre at de følger standardformatet: brukernavn@domene.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Dette mønsteret validerer URL-er, inkludert de med eller uten http/https-protokollen.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Dette mønsteret matcher amerikanske telefonnumre i ulike 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ønsteret validerer datoer i YYYY-MM-DD-formatet, med grunnleggende validering for måned- og dagintervaller.
Lookahead og lookbehind-utsagn lar deg matche mønstre bare hvis de etterfølges av eller forfølges av et annet mønster:
a(?=b)
matcher "a" bare hvis det etterfølges av "b"a(?!b)
matcher "a" bare hvis det ikke etterfølges av "b"(?<=a)b
matcher "b" bare hvis det er forfulgt av "a"(?<!a)b
matcher "b" bare hvis det ikke er forfulgt av "a"Vår regex tester støtter ulike flagg som endrer hvordan mønstre matches:
^
og $
matcher starten/slutten av hver linjeRegulære uttrykk har mange praktiske anvendelser på tvers av ulike felt:
Skjema Validering: Sørg for at brukerinnspill matcher nødvendige 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: Hent spesifikke elementer eller attributter:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Loggfilsanalyse: Hent informasjon fra loggoppføringer:
\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: Prosessere komma-separerte verdier med potensielt siterte felt:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Finn og Erstatt: Identifiser mønstre for erstatning:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Innholdshenting: Hent spesifik informasjon fra usystematisk 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 Utheving: Identifiser språk-konstruksjoner:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Kode Refaktorering: Finn mønstre som trenger oppdatering:
\.oldMethod\(
eval\(
Vår regex mønster tester inkluderer et mønsteradministrasjonssystem som lar deg lagre og gjenbruke ofte brukte uttrykk:
Vurder å lagre mønstre som:
Når du lagrer mønstre, bruk beskrivende etiketter som:
Organiser de lagrede mønstrene dine etter:
Selv om vårt verktøy ikke direkte støtter mønsterdeling mellom brukere, kan du:
Selv erfarne utviklere møter utfordringer med regulære uttrykk. Her er løsninger på vanlige problemer:
Hvis mønsteret ditt viser en valideringsfeil:
Hvis regex-en din er treg eller forårsaker nettleserlag:
(a+)+
)Hvis mønsteret ditt matcher uønsket tekst:
^
og $
) for å matche hele strenger\b
) der det er hensiktsmessigHvis mønsteret ditt ikke matcher forventet tekst:
i
flagget)Selv om regex er kraftig, er det ikke alltid den beste løsningen for hver tekstbehandlingsoppgave:
For enkle tekstoperasjoner er innebygde strengmetoder ofte klarere og mer effektive:
String.indexOf()
for å finne delstrengerString.startsWith()
og String.endsWith()
for å sjekke strenggrenserString.split()
for grunnleggende tokeniseringFor strukturerte dataformater er dedikerte parsere mer robuste:
For å forstå tekstens mening i stedet for bare mønstre:
Vurder alternativer til regex når:
Et regulært uttrykk (regex) er en sekvens av tegn som definerer et søkemønster. Disse mønstrene kan brukes til strengesøk, matching og tekstmanipuleringsoperasjoner.
En regex mønster tester hjelper deg med å utvikle og feilsøke regulære uttrykk ved å gi umiddelbar visuell tilbakemelding på treff, validere mønster syntaks, og la deg eksperimentere med forskjellige mønstre og flagg uten å måtte implementere dem i kode først.
For å matche bokstavelige spesialtegn som normalt har spesialbetydning i regex, må du unnta dem med en bakover-skråstrek. For eksempel, for å matche et bokstavelig punktum, bruk \.
i stedet for bare .
.
.*
og .*?
i et regex-mønster?.*
er en grådig kvantifiserer som matcher så mange tegn som mulig, mens .*?
er en lat (ikke-grådig) kvantifiserer som matcher så få tegn som mulig. Denne distinksjonen er viktig når du vil finne den korteste matchen i stedet for den lengste.
Selv om kjernen i regex-syntaksen er lik på tvers av mange språk, er det subtile forskjeller i implementeringen. Vår tester bruker JavaScripts regex-motor, som er kompatibel med mange webspråk, men kan ha forskjeller fra regex i språk som Python, Java eller Perl.
For å validere at en hel streng matcher et mønster, bruk ^
-ankeret i begynnelsen og $
-ankeret på slutten av regex-en din. For eksempel, ^[0-9]+$
vil bare matche strenger som består utelukkende av sifre.
Fangende grupper, laget med parenteser ()
, lar deg hente spesifikke deler av den matchede teksten. I vår tester kan du se alle treff, inkludert fangede grupper. I programmeringsspråk kan du vanligvis få tilgang til disse fangstene ved å indeksere matchresultatet.
For å forbedre regex-effektiviteten: vær spesifikk med tegnklasser, unngå unødvendige fangende grupper (bruk ikke-fangende grupper (?:...)
når det er mulig), begrens bruken av lookaheads/lookbehinds, og unngå katastrofisk bakover-søk mønstre som nestede kvantifiserere.
Vanlige feil inkluderer: ikke å unnta spesialtegn, lage mønstre som er for grådige, glemme å ankre mønstre (med ^
og $
), og skrive altfor komplekse uttrykk som er vanskelige å vedlikeholde.
Regulære uttrykk er ikke godt egnet for å parse nestede strukturer som HTML eller XML. Selv om du kan lage regex-mønstre for enkel HTML-matching, er det generelt bedre å bruke en dedikert HTML-parser for kompleks HTML-behandling.
Prøv vår regex mønster tester i dag for å forenkle tekstbehandlingsoppgavene dine, validere inputformater, og hente meningsfulle data fra usystematisk tekst. Enten du er en nybegynner som lærer det grunnleggende om regulære uttrykk eller en erfaren utvikler som arbeider med komplekse mønster matching, gir vårt verktøy de funksjonene du trenger for å lage, teste og forbedre regex-mønstrene dine effektivt.
Oppdag flere verktøy som kan være nyttige for arbeidsflyten din