Hoppa till innehåll
100% lokalt

Regex från exempel

Gör exempeltextsträngar till ett reguljärt uttryck och se vilka exempel det matchar.

Inmatning
Exempel som mönstret INTE ska matcha
Utmatning

Regex från exempel

Mata in ett par textsträngar som mönstret ska matcha – en per rad – och det här verktyget härleder ett reguljärt uttryck som fångar formen de delar. Under det genererade mönstret listas alla exempel med en bock, så du kan se på ett ögonkast om resultatet verkligen täcker det du klistrade in.

Generaliseringsnivån styr hur ordagrant resultatet är. "Exakta tecken" behåller varje tecken oförändrat och kombinerar endast olika formade exempel med alternation. "Teckenlklasser" ersätter siffror, bokstäver och mellanslag med \d, \p{Lu}/\p{Ll} och \s medan exakta upprepningsantal från dina exempel behålls. "Flexibla kvantifierare" går längre och förvandlar dessa körningar till en-eller-fler-matchningar, vilket generaliserar bättre men matchar också mer än dina exempel. Förankring lägger till ^ och $ så att hela strängen måste matcha snarare än bara en delsträng. Skiftlägeskänslighet styr om teckenstorlek spelar roll, och namngivna grupper omsluter de varierande delarna av mönstret så du kan dra ut dem efter namn senare. Dialektalternativet justerar syntaxen för namngivna grupper för JavaScript, PCRE eller Python, eftersom de tre inte är överens om det.

Lägg till strängar som mönstret INTE får matcha, och verktyget kontrollerar det genererade mönstret mot dem också – alla negativa exempel det fortfarande matchar får en flagga, vilket är det snabbaste sättet att fånga ett mönster som är för brett. Slå på förklaringen för att se mönstret uppdelat i sina enskilda delar med en text-på-svenska beskrivning av vad varje del gör.

Allt körs lokalt i din webbläsare: exemplen du klistrar in, de negativa exemplen och det genererade mönstret lämnar aldrig din enhet.

FAQ

Matchar det genererade regex alltid alla exempel som jag klistrade in?
Ja – mönstret är byggt direkt från dina exempel, så det är utformat för att matcha alla under den stränghetsnivå du valde. Om dina exempel har genuint olika former, återgår verktyget till att matcha en av de olika formerna.
Vad ändrar "Teckenlklasser" egentligen?
Det ersätter serier av siffror, bokstäver och mellanslag med sin regex-klass (\d, \p{Lu}, \p{Ll}, \s) istället för de litterala tecknen, medan den exakta längden från dina exempel behålls – så "AB12" blir \p{Lu}{2}\d{2}, inte ett bokstavligt "AB12".
Varför matchar mönstret också ett av mina negativa exempel?
En negativ matchning betyder vanligtvis att generaliseringen är bredare än din avsikt – försök en strängare nivå, slå på förankring, eller lägg till ett mer specifikt negativt exempel så att den flaggade raden visar exakt vad som kom igenom.
Kommer mönstret att fungera exakt på samma sätt i Python eller PCRE?
Teckenkklasserna och kvantifierarna delas mellan dialekter, men syntaxen för namngivna grupper skiljer sig – dialektalternativet justerar bara hur dessa grupper visas (JavaScript använder (?<name>…), PCRE och Python använder traditionellt (?P<name>…)); testa alltid resultatet mot din faktiska motor.
Laddas mina exempeltextsträngar upp var som helst?
Nej. Mönstret genereras helt och hållet i din webbläsare – dina exempel och det genererade regex lämnar aldrig din enhet.