Käyttöohje
- Kirjoita säännöllinen lauseke Kuvio-kenttään ilman ympäröiviä vinoviivoja.
- Valitse tarvitsemasi liput. g (global) löytää kaikki osumat eikä vain ensimmäistä.
- Liitä teksti, josta haetaan. Osumat korostetaan, ja jokainen näkyy listassa indekseineen ja kaappausryhmineen.
- Kirjoita halutessasi korvaava merkkijono, esimerkiksi $2-$1, niin näet String.replace-kutsun tuloksen esikatselussa.
Näin se toimii
The tester runs your pattern with the browser's built-in RegExp object, so the results are exactly what JavaScript (ECMAScript) code in that browser would produce. Other languages use different regex flavours: PCRE (PHP), Python's re module, Java and .NET support features JavaScript lacks, such as possessive quantifiers (a++), atomic groups ((?>…)), inline modifiers like (?i) and recursion, and they differ in details such as \A and \Z anchors. Test a pattern in its own language before relying on it there. Lookbehind ((?<=…)), named groups ((?<name>…)) and Unicode property escapes (\p{L} with the u flag) work in all current browsers.
Without the g or y flag only the first match is found, as with RegExp.exec. Zero-length matches, for example of ^ or \b, are listed but not highlighted; after one, the search moves on by one character (one code point with the u flag), as String.matchAll does. Capture groups are shown by number and, where defined, by name; a group that did not take part in the match is marked as having no value, which is different from an empty match.
Some patterns, such as (a+)+$ on a long line without a match, take exponential time to fail (catastrophic backtracking). To reduce the risk, matching starts a moment after you stop typing, only the first 100,000 characters of the text are searched, and at most 1,000 matches are collected. A pathological pattern can still make the tab unresponsive for a while; if that happens, simplify the pattern or shorten the text.
Esimerkit
Päivämäärien poiminta
Malli (\d{4})-(\d{2})-(\d{2}) g-lipulla tekstissä ”Due 2026-03-15, paid 2026-04-02” löytää kaksi osumaa. Ryhmä 1 on vuosi; korvaus $3.$2.$1 muuttaa tekstin muotoon ”Due 15.03.2026, paid 02.04.2026”.
Nimetyt ryhmät luettavampaa koodia varten
Kun kuvio (?<key>\w+)=(?<value>[^&]*) sovelletaan kyselymerkkijonoon a=1&b=two, se listaa jokaiselle parille avaimen ja arvon, mikä vastaa sitä, mitä match.groups.key ja match.groups.value palauttavat JavaScriptissä.
Kirjainkoosta riippumaton haku rivien yli
^error:.* lipuilla g, i ja m vastaa jokaista lokiriviä, joka alkaa Error:, ERROR: tai error:, koska m saa ^:n vastaamaan jokaisen rivin alkua.
Usein kysytyt kysymykset
Toimiiko säännöllinen lausekkeeni samalla tavalla Pythonissa, PHP:ssä tai Javassa?
Ei välttämättä. Tämä työkalu käyttää JavaScript-moottoria. Perussyntaksi on yhteistä, mutta esimerkiksi possessiiviset kvanttorit, atomiset ryhmät, sisäiset liput kuten (?i) ja jotkin escapesekvenssit ovat vain muissa toteutuksissa, ja muutamat käyttäytyvät eri tavalla. Testaa aina kohdekielellä.
Miksi vain yksi osuma löytyy?
g (global) -lippu on pois päältä. Ilman sitä JavaScript palauttaa vain ensimmäisen osuman. Valitse g löytääksesi ne kaikki.
Pitäisikö minun kirjoittaa vinoviivat kuvion ympärille?
Ei. Kirjoita vain kuvio, esimerkiksi \d+ eikä /\d+/g, ja valitse liput valintaruuduilla. JavaScriptin literaalimuoto näkyy tulosten alla, jotta voit kopioida sen koodiin.
Miksi sivu hidastui kuviollani?
Sisäkkäiset kvanttorit, kuten (a+)+ tai (.*)*, voivat pakottaa moottorin kokeilemaan eksponentiaalista määrää polkuja, kun osumaa ei ole. Tee kuviosta tarkempi, esimerkiksi korvaa .* ilmauksella [^,]* tai käytä ankkureita. Työkalu rajoittaa tekstin 100 000 merkkiin vaikutuksen pienentämiseksi.
Tietosuoja
Kuviosi ja tekstisi käsitellään vain selaimessasi sen JavaScript-moottorilla. Mitään ei lähetetä, tallenneta eikä sisällytetä analytiikkaan.