◯ Gratis: 5 användningar/dag • Återställs om 16h 13m
Utveckling & Teknisk

Regex‑generator

Omvandla en beskrivning på vanlig engelska till ett fungerande reguljärt uttryck för JavaScript, Python, PCRE, Go, Java eller .NET — med en token‑för‑token‑förklaring, testfall och de kantfall som mönstret avsiktligt matchar eller inte matchar.

Läs mer

Regex‑generatorn skapar ett reguljärt uttryck utifrån en beskrivning av vad som ska matcha, i den syntax du faktiskt använder — JavaScript, Python, PCRE, Go's RE2, Java eller .NET — och bevisar sedan resultatet: varje token förklaras, dina exempel på strängar som måste och får inte matcha kontrolleras, och mönstret levereras med extra testfall, ett kodexempel i ditt språk samt en notering om de kantfall som avsiktligt exkluderas. Det meddelar också när ett krav inte kan uppfyllas i din syntax, exempelvis look‑behind i Go, istället för att tyst generera ett mönster som inte kan kompileras.

0 / 3000
0 / 10000
0 / 10000

✓ Gratis att använda — ingen registrering, inget kreditkort.

Utvecklare

Endast företagets e‑postadresser

Registreringsvalidering som avvisar fria webmail‑domäner

Visa förhandsvisning av in- och utdata

Indata

Vad ska mönstret matcha?
Email addresses on the company domains acme.com and acme.co.uk, case-insensitive. Reject everything else, including gmail and addresses with nothing before the @.
Regex‑variant
JavaScript / TypeScript
Exempel som måste matcha (en per rad)
[email protected] [email protected]
Exempel som inte får matcha (en per rad)
[email protected] @acme.com
Strikthet
Praktisk (läsbar, täcker vanliga fall)

Utdata (utdrag)

```javascript
/^[a-z0-9._%+-]+@acme\.(?:com|co\.uk)$/i
```

**Flags:** `i` — domäner och lokala delar jämförs utan att ta hänsyn till versaler.

| Token | Betydelse |
|---|---|
| `^` … `$` | hela strängen måste vara adressen |
| `[a-z0-9._%+-]+` | lokal del: en eller flera bokstäver, siffror eller vanlig interpunktion |
| `@acme\.` | bokstavlig @acme. — punkten är escaped |
| `(?:com\|co\.uk)` | exakt en av de två företagsdomänerna |

| Indata | Förväntat | Varför |
|---|---|---|
| `[email protected]` | match | enkel lokal del, tillåten domän |
| `[email protected]` | match | punkt i lokal del, andra domänen |
| `[email protected]` | no match | domän saknas i listan |
| `@acme.com` | no match | tom lokal del |
| `[email protected]` | no match | förankrad, inget får följa |…
Alla målgrupper

ISO 8601-kalenderdatum

Extrahera datum från loggradar innan de parsas

Visa förhandsvisning av in- och utdata

Indata

Vad ska mönstret matcha?
ISO calendar dates like 2026-09-20 anywhere inside a line of text. Month 01-12, day 01-31. Do not match 2026-13-01 or 26-09-20.
Regex‑variant
Python (re)
Exempel som måste matcha (en per rad)
deployed 2026-09-20 at 05:01 2024-02-29
Exempel som inte får matcha (en per rad)
2026-13-01 26-09-20
Strikthet
Strikt (avvisar allt ogiltigt)

Utdata (utdrag)

```python
r"(?<!\d)(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?!\d)"
```

**Flags:** none. Mönstret är inte förankrat eftersom datumet finns i en rad.

| Token | Betydelse |
|---|---|
| `(?<!\d)` | inte föregången av en siffra — avvisar `12026-09-20` |
| `(\d{4})` | fyrsiffrig år, fångad |
| `(0[1-9]\|1[0-2])` | månad 01-12 |
| `(0[1-9]\|[12]\d\|3[01])` | dag 01-31 |
| `(?!\d)` | inte följd av en siffra |

**Edge cases:** mönstret känner inte till månadslängder — `2026-02-31` matchar. Validera med `datetime.date.fromisoformat()` efter extraktion, vilket kodexemplet visar…

Dina Regex‑generator-resultat visas här

Förvänta dig rena kodblock med kommentarer, plus en kort förklaring av vad som ändrats.

Hur man använder Regex‑generator

  1. Beskriv vad mönstret ska matcha i klartext, inklusive vad det måste avvisa — 'företags‑e‑postadresser, inte gratis‑webbmail' är bättre än 'e‑post'.
  2. Välj den syntax du kommer att köra den i. Go, JavaScript, Python, Java, .NET och PCRE skiljer sig åt när det gäller look‑around‑stöd, Unicode‑hantering och escapning.
  3. Klistra in några strängar som måste matcha och några som inte får matcha, en per rad. Mönstret kontrolleras mot var och en av dem.
  4. Välj strikthet: 'Praktisk' för läsbara mönster som täcker normal indata, 'Strikt' för validering, 'Lättsam' när du fångar brett och filtrerar senare.

Användningsfall

1

Validera formulärinmatning såsom postnummer, registreringsskyltar eller interna ID‑format

2

Extrahera datum, fakturanummer eller orderreferenser från logg‑rader och e‑post

3

Skapa en sök‑och‑ersätt för en massrengöring i en editor eller ett migreringsskript

4

Förklara ett äldre mönster som en kollega lämnade i kodbasen genom att klistra in det som beskrivning

5

Konvertera ett mönster från en syntax till en annan när du flyttar ett skript från Python till Go

Tips för bästa resultat

  • Ge exempel som inte får matcha — de skärper ett mönster mer än exempel som måste matcha.
  • Om du behöver det i en språksträng, be om den varianten: escapingen är en del av svaret.
  • För validering mot slutanvändare, välj 'Strict' och läs avsnittet om kantfall innan du släpper.
  • Ett mönster med nästlad repetition på opålitlig indata kan låsa din server; utskriften varnar dig när den risken finns.

Vanliga frågor

Vilka regex-varianter stöds?

JavaScript och TypeScript, Python‑modulen re, PCRE (PHP, Ruby, Perl), Go:s RE2‑motor, Java och .NET. Mönstret skrivs som en literal i det valda språket, med den escapning som språket kräver.

Testar den mönstret?

Varje exempel du anger listas i en testtabell med förväntat resultat och förklaring. Verktyget lägger också till kantfall — tom indata, blanksteg, nära missar — så att du kan se vad som kan gå igenom.

Varför säger den att mitt krav är omöjligt i Go?

Go:s RE2‑motor garanterar linjärtidssökning och har därför ingen look‑ahead, look‑behind eller bakåtreferenser. När beskrivningen kräver någon av dessa säger verktyget det och erbjuder det närmaste mönstret som RE2 kan kompilera, oftast med en liten kontroll i koden.

Vad är skillnaden mellan Practical, Strict och Lenient?

Practical‑mönster är läsbara och täcker de indata du faktiskt ser. Strict‑mönster avvisar varje sträng som inte är giltig, på bekostnad av längd och läsbarhet — använd dem för validering. Lenient‑mönster fångar brett så att du kan filtrera i kod efteråt — använd dem för extraktion från rörig text.

Kan den förklara ett regex jag redan har?

Ja. Klistra in det befintliga mönstret i beskrivningen med 'explain this' så går utskriften igenom det token för token, listar vad det matchar och pekar på eventuell risk för katastrofal backtracking.

🔒
Din integritet är skyddad

Vi sparar din inmatning och resultatet i högst 90 dagar för att driva tjänsten, förhindra missbruk och, om du är inloggad, visa din historik. De behandlas av de AI-leverantörer som anges i vår integritetspolicy. Vi säljer dem inte.

Relaterade verktyg

Prova den här agenten

API‑automatiserings‑agentBeskriv en automatisering på enkel engelska → REST/webhook‑recept → curl + Python + Node‑exempel → mappad…Prova den här agenten →

Relaterat arbetsflöde

Bygg en varumärkesidentitetFrån koncept till ett sammanhållet visuellt systemKör arbetsflöde →

Läs mer