Jokainen regexin ydintoken: ankkurit, merkkiluokat, kvanttorit, ryhmät ja liput. Mitä kukin tarkoittaa, konkreettinen osuma mukana. Regex Tester -työkalun pikaviitteen kumppani.
Regex-tokenit yhdistyvät: pinoa ankkuri, merkkiluokka ja kvanttori muodon rakentamiseksi. ^ kiinnittyy alkuun, \d täsmää numeroon ja {2,4} määrittää toistomäärän. Yhdistä ne muotoon ^\d{2,4}$ täsmätäksesi koko merkkijonoon, jossa on kaksi neljään numeroa. Lue muoto vasemmalta oikealle, yksi token kerrallaan. Regex Tester -työkalulla voit kokeilla mitä tahansa näistä tokeneista suoraan omalla tekstilläsi.
Täsmää yksittäiseen merkkiin, jolla on annettu kaksinumeroinen heksadesimaalikoodi.
\x41 → A
Täsmää yksittäiseen merkkiin, jolla on annettu heksadesimaalinen koodipiste, kun u-lippu on päällä.
\u{1F600} → 😀
Luokkien leikkaus v-lipulla: täsmää merkkeihin, jotka ovat molemmissa joukoissa yhtä aikaa.
[[a-z]&&[^aeiou]] → t
Kvanttorit
Täsmää edelliseen tokeniin nolla kertaa tai enemmän.
ab* → abbb
Täsmää edelliseen tokeniin yhden kerran tai enemmän.
a+ → aaa
Täsmää edelliseen tokeniin nolla tai yhden kerran, tehden siitä valinnaisen.
colou?r → color
Täsmää edelliseen tokeniin täsmälleen n kertaa.
a{3} → aaa
Täsmää edelliseen tokeniin n kertaa tai enemmän.
a{2,} → aaaa
Täsmää edelliseen tokeniin n:n ja m:n kerran välillä, rajat mukaan lukien.
a{2,4} → aaa
Laiska kvanttori: täsmää edelliseen tokeniin nolla kertaa tai enemmän ottaen niin vähän kuin mahdollista.
<.*?> on <a><b> → <a>
Laiska kvanttori: täsmää edelliseen tokeniin yhden kerran tai enemmän ottaen niin vähän kuin mahdollista.
\d+? on 123 → 1
Laiska kvanttori: täsmää edelliseen tokeniin nolla tai yhden kerran suosien nollaa.
ab?? on ab → a
Laiska kvanttori: täsmää edelliseen tokeniin n:n ja m:n kerran välillä ottaen niin vähän kuin mahdollista.
a{1,3}? on aaa → a
Possessiivinen kvanttori (PCRE): täsmää edelliseen tokeniin nolla kertaa tai enemmän ja pitää saaliinsa paluumatta koskaan kokeilemaan muita jaotelmia.
.*+a on aaa → no match
Ryhmät ja vaihtoehtoisuus
Kaappaava ryhmä: täsmää jonoon ja muistaa sen takaisinviittauksia varten.
(ab)+ → abab
Kaappaamaton ryhmä: täsmää jonoon muistamatta sitä.
(?:ab)+ → abab
Positiivinen lookahead: täsmää, jos seuraavat merkit ovat abc kuluttamatta niitä.
a(?=b) → a
Negatiivinen lookahead: täsmää, jos seuraavat merkit eivät ole abc kuluttamatta niitä.
a(?!b) → a
Takaisinviittaus: täsmää tarkkaan tekstiin, jonka kaappaava ryhmä 1 kaappasi.
(a)\1 → aa
Vaihtoehtoisuus: täsmää joko palkin edellä olevaan tai jäljessä olevaan lausekkeeseen.
cat|dog → dog
Nimetty kaappaava ryhmä: täsmää jonoon ja muistaa sen annetulla nimellä.
(?<year>\d{4}) → year = 2026
Positiivinen lookbehind: täsmää, jos edelliset merkit ovat abc kuluttamatta niitä.
(?<=a)b → b
Negatiivinen lookbehind: täsmää, jos edelliset merkit eivät ole abc kuluttamatta niitä.
(?<!a)b → b
Nimetty takaisinviittaus: täsmää tarkkaan tekstiin, jonka nimetty ryhmä kaappasi.
(?<w>\w+) \k<w> → the the
Atominen ryhmä (PCRE): täsmää jonoon kerran eikä koskaan palaa sen sisään.
(?>a+)ab on aab → no match
Haaran nollaus (PCRE): vaihtoehtoisuus, jossa jokainen haara käyttää samoja ryhmänumeroita.
(?|(cat)|(dog)) → \1 = dog
Liput
Globaali lippu: löytää jokaisen osuman merkkijonosta, ei vain ensimmäisen.
/a/g on aaa → a, a, a
Kirjainkokovapaa lippu: jättää kirjainkoon huomiotta täsmätessään.
/Hi/i → hi
Monirivilippu: käsittelee ^ ja $ kukin rivin alkuina ja loppuina.
/^a/m matches at the start of each line
Dotall-lippu: antaa pisteen täsmätä myös rivinvaihtoon.
/a.b/s → a\nb
Unicode-lippu: käsittelee muodon ja syötteen unicode-koodipisteinä.
/\u{1F600}/u → 😀
Tahmea lippu: täsmää vain lastIndex:n asettamassa tarkassa kohdassa.
/ab/y matches only at lastIndex
Indeksilippu: lisää jokaisen osuman alku- ja loppukohdan tulokseen.
/b/d on abc → indices [1, 2]
Unicode-joukkojen lippu: tiukempi u, joka sallii myös joukko-operaatiot luokan sisällä.
/[a-z&&[^aeiou]]/v → t
Laajennettu lippu (PCRE): jättää huomiotta suojaamattomat välilyönnit ja #-kommentit muodon sisällä.