Regex-testaaja
Testaa regex-malleja live-vastaavuudella, lipuilla ja tiedoilla.
Mita ovat saannolliset lausekkeet?
Saannolliset lausekkeet (regex tai regexp) ovat kaavoja, joilla etsitaan merkkijonojen yhdistelmia tekstista. Ne ovat yksi tehokkaimmista tyokaluista ohjelmoinnissa — kaytettavissa validointiin, etsintaean, korvaamiseen ja datan poimimiseen.
Regex-kaava kuvaa merkkijoukon kayttaen erikoissyntaksia. Yksinkertaiset kaavat vastaavat kirjaimellista tekstia, kun taas metamerkit (kuten . * + ?) mahdollistavat joustavat hakukuviot kuten 'mika tahansa luku' tai 'sahkopostiosoite'.
Regex-testerin kayttohje
Syota saannollisen lausekkeen kaava kaavakenttaan, valitse haluamasi liput (g, i, m, s) ja liita testattava teksti. Tyokalu korostaa kaikki vastaavuudet reaaliajassa ja nayttaa kaappausryhmat.
Yleisia regex-kaavoja
- Sahkopostiosoitteet: ^[^\s@]+@[^\s@]+\.[^\s@]+$ — vastaa tavallisia sahkopostimuotoja.
- URL-osoitteet: https?://\S+ — vastaa URL-osoitteita, jotka alkavat http tai https.
- IPv4-osoitteet: vastaa standardia pistenotaatiota kuten 192.168.1.1 kayttaen numerokvanttoreita.
- Paivamaeaerat: vastaa paivamaeaeria VVVV-KK-PP-muodossa kayttaen nelinumeroista vuotta ja kaksinumeroista kuukautta ja paivaa.
- Isolla alkukirjaimella alkavat sanat: [A-Z][a-z]+ — vastaa sanoja, jotka alkavat isolla kirjaimella.
Regex-liput selitettyna
- g: g (Globaali): Loytaa kaikki vastaavuudet tekstista, ei vain ensimmaista.
- i: i (Kirjainkoosta riippumaton): Kaava vastaa riippumatta kirjainkoosta.
- m: m (Monirivinen): Saa ^ ja $ vastaamaan jokaisen rivin alkua ja loppua, ei vain koko merkkijonon.
- s: s (Dotall): Saa . metamerkin vastaamaan myos rivinvaihtomerkkeja.
Kaappausryhmat
Sulut () luovat kaappausryhmia, jotka poimivat tiettyjae osia vastaavuudesta. Jokainen ryhma numeroidaan alkaen 1:sta. Esimerkiksi (\d+)-(\d+) kaappaa kaksi numeroryhmaa erikseen valiviivalla erotetusta kaavasta.
Yleisia regex-virheita
Erikoismerkkien karkaamisen unohtaminen on yleisin virhe. Merkit kuten . + * ? ( ) [ ] ^ $ | ja aaltosulut vaativat kenoviivan edelle, jotta ne vastaavat kirjaimellisesti eivitka metamerkkeinaa.
Liian ahnekkaat kaavat ovat toinen yleinen ongelma. .* kvanttori vastaa niin paljon tekstia kuin mahdollista, mika voi sisallyttaa odottamattoman paljon. Kayta .*? laiskaa kvantoria vastaamaan mahdollisimman vahan.
Usein kysytyt kysymykset
Ovatko regex-kaavat samoja kaikissa kielissa?
Perussyntaksi on samankaltainen, mutta eroja on. JavaScript, Python, Java ja .NET kukin tukevat hieman erilaisia ominaisuuksia: lookbehind-tuki, nimetyt ryhmat ja Unicode-ominaisuudet vaihtelevat. Peruskaavat toimivat kaikkialla.
Miten voin oppia saannollisia lausekkeita?
Aloita yksinkertaisista kaavoista ja lisaa monimutkaisuutta asteittain. Opi perusmetamerkit (. * + ? ^ $), merkiluokat ([a-z], \d), toisto-operaattorit ja ryhmat. Harjoittele oikeilla ongelmilla regex-testerilla.