Használata
- Írjon be egy reguláris kifejezést a Minta mezőbe, a körülvevő perjelek nélkül.
- Jelölje be a szükséges jelzőket. A g (global) minden találatot megtalál, nem csak az elsőt.
- Illessze be a keresendő szöveget. A találatok kiemelve jelennek meg, és mindegyik szerepel a listában az indexével és a befogó csoportjaival.
- Opcionálisan adjon meg egy helyettesítést, például $2-$1, hogy megtekintse a String.replace eredményét.
Hogyan működik
A tesztelő a böngésző beépített RegExp objektumával futtatja a mintát, így az eredmények pontosan azok, amelyeket a böngésző JavaScript (ECMAScript) kódja adna. Más nyelvek más regex-ízeket használnak: a PCRE (PHP), a Python re modulja, a Java és a .NET olyan funkciókat támogatnak, amelyek a JavaScriptből hiányoznak, például birtokos kvantorok (a++), atomi csoportok ((?>…)), beágyazott módosítók, mint a (?i), és rekurzió, valamint eltérnek olyan részletekben, mint a \A és \Z horgonyok. Tesztelje a mintát a saját nyelvében, mielőtt ott támaszkodik rá. A visszafelé nézés ((?<=…)), a nevesített csoportok ((?<name>…)) és a Unicode tulajdonság escape-ek (\p{L} az u jelzővel) minden jelenlegi böngészőben működnek.
A g vagy y jelző nélkül csak az első találatot találja meg, ahogy a RegExp.exec is. A nulla hosszúságú találatok, például a ^ vagy \b, listázva vannak, de nincsenek kiemelve; egy után a keresés egy karakterrel (az u jelzővel egy kódponttal) továbblép, ahogy a String.matchAll teszi. A rögzítő csoportok szám szerint és, ahol definiált, név szerint vannak megjelenítve; egy csoport, amely nem vett részt a találatban, úgy van jelölve, hogy nincs értéke, ami különbözik az üres találattól. Egyes minták, például az (a+)+$ egy hosszú soron találat nélkül, exponenciális időt vesznek igénybe a sikertelenséghez (katasztrofális visszalépés). A kockázat csökkentése érdekében a keresés egy pillanattal azután indul, hogy abbahagyja a gépelést, csak a szöveg első 100 000 karakterét keresi, és legfeljebb 1 000 találatot gyűjt össze. Egy kóros minta még mindig átmenetileg nem reagálóvá teheti a lapot; ha ez történik, egyszerűsítse a mintát vagy rövidítse le a szöveget.
Példák
Dátumok kinyerése
A (\d{4})-(\d{2})-(\d{2}) minta a g jelzővel a „Due 2026-03-15, paid 2026-04-02” szövegen két találatot ad. Az 1. csoport az év; a $3.$2.$1 helyettesítés a szöveget „Due 15.03.2026, paid 02.04.2026” alakra alakítja.
Nevesített csoportok az olvasható kódért
A (?<key>\w+)=(?<value>[^&]*) minta az a=1&b=two lekérdezési karakterláncon minden párhoz listázza a kulcsot és az értéket, ami megegyezik azzal, amit a JavaScriptben a match.groups.key és match.groups.value visszaad.
Kis- és nagybetűt nem megkülönböztető keresés sorokon át
^error:.* a g, i és m jelzőkkel minden olyan naplósort eltalál, amely Error:, ERROR: vagy error: kezdetű, mert az m miatt a ^ az egyes sorok elején is illeszkedik.
Gyakori kérdések
Ugyanúgy fog működni a regexem Python, PHP vagy Java környezetben?
Nem feltétlenül. Ez az eszköz a JavaScript-motort használja. Az alapvető szintaxis közös, de a birtokos kvantorok, az atomi csoportok, a beágyazott jelzők (például (?i)) és egyes escape-szekvenciák csak más változatokban léteznek, és néhány eltérően viselkedik. Mindig tesztelje a célnyelvben.
Miért csak egy találatot talál?
A g (global) jelző ki van kapcsolva. Enélkül a JavaScript csak az első találatot adja vissza. Jelölje be a g-t, hogy mindet megtalálja.
Kell a perjeleket beírni a minta köré?
Nem. Csak a mintát adja meg, például \d+ a /\d+/g helyett, a jelzőket pedig a jelölőnégyzetekkel válassza ki. A JavaScript literál formája a találatok alatt látható, hogy kódba másolhassa.
Miért lett lassú az oldal a mintámtól?
Az egymásba ágyazott kvantorok, például az (a+)+ vagy a (.*)*, arra kényszeríthetik a motort, hogy exponenciális számú útvonalat próbáljon ki, ha nincs találat. Tegye a mintát konkrétabbá, például a .* helyett használja a [^,]* mintát, vagy használjon horgonyokat. A tesztelő a szöveget 100 000 karakterre korlátozza, hogy csökkentse a hatást.
Adatvédelem
A mintát és a szöveget kizárólag a böngészője dolgozza fel a JavaScript motorjával. Semmi nem kerül feltöltésre vagy tárolásra, és nem szerepel az analitikában.