Regex-testeri
Tietoa tästä työkalusta
Suorita säännöllinen lauseke syöteteksi ja tarkastele osumia. Kaikki suoritus tapahtuu selaimessasi; dataa ei lähetetä minnekään.
Suorita testi
—
Käyttöohje
- Syötä säännöllinen lauseke sekä tarvittavat liput.
- Paina “Suorita testi”, niin osumat korostuvat syötekentässä.
Esimerkkejä (yli 100 valmista regex-kuviota kategorioittain)
Peruskuviot / välilyönnit / rivit
- Pelkkä tyhjä rivi:
^\s*$
(m) - Alun välilyönnit:
^\s+
(m) - Loppuvälilyönnit:
\s+$
(m) - Trimmaa alku- ja loppuvälit:
^\s+|\s+$
(m) - Yhdistä peräkkäiset välit:
\s{2,}
- Näkyvät merkit (ei välilyöntiä):
\S+
- Pelkkä ASCII:
^[\x00-\x7F]+$
- Tulostettava ASCII:
^[\x20-\x7E]+$
- Sisältää muita kuin ASCII-merkkejä:
[^\x00-\x7F]
- Sanan rajaus:
\bword\b
Numerot ja valuutta
- Kokonaisluku (valinnainen etumerkki):
^-?\d+$
- Desimaaliluku (valinnainen etumerkki):
^-?\d*\.\d+$
- Luku (kokonais- tai desimaaliluku):
^-?(?:\d+|\d*\.\d+)$
- Tuhateroitettu luku (esim. 1,234,567):
^\d{1,3}(?:,\d{3})+$
- Valuutta (¥ tai $ + valinnainen ryhmittely):
^(?:¥|\$)\s?\d{1,3}(?:,\d{3})*(?:\.\d{2})?$
- Prosentti:
^\d{1,3}(?:\.\d+)?%
- Tieteellinen notaatio:
^[+-]?(?:\d+\.?\d*|\.\d+)[eE][+-]?\d+$
- Heksadesimaali:
^(?:0x)?[0-9A-Fa-f]+$
- Binääri:
^[01]+$
- Oktaali:
^[0-7]+$
Päivämäärä ja aika
- Päivämäärä YYYY-MM-DD (muototarkistus):
^\d{4}-\d{2}-\d{2}$
- Aika HH:MM (24 h):
^(?:[01]\d|2[0-3]):[0-5]\d$
- Aika HH:MM:SS (24 h):
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
- ISO8601-aikaleima (yksinkertainen):
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
- Vuosi/kuukausi (YYYY/MM):
^\d{4}/(0[1-9]|1[0-2])$
- Japanin Reiwa-kausi (yksinkertaistettu):
^令和\d+年(?:\d+月(?:\d+日)?)?$
(u) - Viikonpäivä (engl. lyhenne):
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)$
- Aikavyöhyke (±HH:MM):
^[+-](?:[01]\d|2[0-3]):[0-5]\d$
Yhteystiedot ja osoitteet
- Japanilainen postinumero:
^\d{3}-\d{4}$
- Japanilainen puhelin (0x-xxxx-xxxx):
^0\d{1,4}-\d{1,4}-\d{4}$
- Kansainvälinen puhelin (+maatunnus):
^\+\d{1,3}\s?\d+(?:[\s-]\d+)*$
- Japanin prefektuurit:
^(?:東京都|北海道|(?:京都|大阪)府|.+県)$
(u) - Sähköposti (yleinen tarkistus):
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
- Käyttäjänimi (3–16 merkkiä, a–z/0–9/_):
^[A-Za-z0-9_]{3,16}$
- Salasanan vahvuus (isot/pienet/numerot/erikoismerkit, ≥8):
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$
Web / URL / HTTP
- URL (http/https, nopea):
https?:\/\/\S+
- Verkkotunnus (ei Punycodea):
^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
- Isäntä aliverkkotunnuksineen:
^(?:[A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.[A-Za-z]{2,}$
- Kyselyparametri key=value:
[?&]([A-Za-z0-9._~-]+)=([^&#]+)
- Fragmentti:
#\w[\w-]*
- Tiedostopääte (.png|.jpg|.gif jne.):
\.(?:png|jpe?g|gif|webp|svg)$
(i) - HTTP-metodit:
^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$
- HTTP-otsakerivi:
^[A-Za-z0-9-]+:\s?.+$
(m) - Basic-autentikaation otsake:
^Basic\s+[A-Za-z0-9+/=]+$
- Bearer-tunnisteen otsake:
^Bearer\s+[A-Za-z0-9\-\._~\+\/]+=*$
Verkkotunnisteet (IP/MAC/CIDR/UUID/JWT)
- IPv4 (0–255 tarkka):
\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\b
- IPv6 (lyhennykset tuettu, yksinkertainen):
\b(?:[A-Fa-f0-9]{1,4}:){2,7}[A-Fa-f0-9]{1,4}\b
- MAC-osoite (pistein):
^(?:[0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$
- MAC-osoite (väliviivoin):
^(?:[0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2}$
- CIDR (IPv4, pituus 0–32):
^\b(?:\d{1,3}\.){3}\d{1,3}\/(?:[0-9]|[12]\d|3[0-2])\b$
- UUID v4:
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
(i) - GUID (kirjaimista riippumaton):
^{?[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}}?$
(i) - Base64 (sis. paddingin):
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
- JWT (kolme pistettä):
^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$
- SSH-julkinen avain (ssh-rsa/ed25519):
^ssh-(?:rsa|ed25519)\s+[A-Za-z0-9+/=]+(?:\s.+)?$
Tiedostot / polut / versiot
- Windowsin absoluuttinen polku:
^[A-Za-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$
- UNIX-absoluuttipolku:
^\/(?:[^\/\0]+\/)*[^\/\0]*$
- Turvallinen tiedostonimi (a-z, 0-9, ._-):
^[A-Za-z0-9._-]+$
- Tiedostopäätteen poiminta:
\.([A-Za-z0-9]+)$
- Git-hash (7–40 merkkiä):
^[0-9a-f]{7,40}$
- SemVer-versio:
^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$
- Docker image:tag:
^[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[\w.-]+)?$
- NPM-paketin nimi (yksinkertainen):
^(?:@[\w-]+\/)?[\w.-]+$
- URL-slugi:
^[a-z0-9]+(?:-[a-z0-9]+)*$
Web-frontend (HTML/CSS/värit)
- HTML-tagit (yksinkertainen aloitus/lopetus):
<([A-Za-z][A-Za-z0-9]*)\b[^>]*>([\s\S]*?)<\/\1>
- HTML-kommentti:
<!--[\s\S]*?-->
- href-attribuutin arvo:
href\s*=\s*"(.*?)"
(i) - CSS-väri (#RGB/#RRGGBB):
^#(?:[0-9A-Fa-f]{3}){1,2}$
- CSS rgb():
^rgb\(\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*\)$
- CSS hsl():
^hsl\(\s*(?:\d|[1-2]\d{2}|3[0-5]\d)\s*,\s*(?:\d|[1-9]\d)%\s*,\s*(?:\d|[1-9]\d)%\s*\)$
- CSS-yksikkö (px, em, jne.):
^-?\d+(?:\.\d+)?(?:px|em|rem|vh|vw|%)$
Merkkijonot ja syntaksi (koodikatkelmat)
- JavaScript-tunniste (yksinkertainen):
^[A-Za-z_$][A-Za-z0-9_$]*$
- JavaScriptin //-kommenttirivi:
^\s*\/\/.*$
(m) - JavaScriptin blokki-kommentti:
\/\*[\s\S]*?\*\/
- Kaksoislainattu merkkijono:
"(?:[^"\\]|\\.)*"
- Yksittäislainattu merkkijono:
'(?:[^'\\]|\\.)*'
- Template literal (yksinkertainen):
`(?:[^`\\]|\\.|\\${[^}]*})*`
- JSON-avain:
"([A-Za-z0-9_]+)"\s*:
- CSV-solu (kaksoislainaus tuettu):
(?:"(?:[^"]|"")*"|[^,\r\n]*)
- URL:n poiminta sähköpostitekstistä:
https?:\/\/[^\s)>"]+
Turvallisuus / validointi (käytä harkiten)
- Luottokortti (ei Luhnia, nopea):
\b(?:\d[ -]*?){13,19}\b
- VISA (alkaa 4:llä, 13/16/19 numeroa):
\b4\d{12}(?:\d{3})?(?:\d{3})?\b
- Mastercard (51–55 / 2221–2720):
\b(?:5[1-5]\d{14}|2(?:2[2-9]\d{2}|[3-6]\d{3}|7[01]\d{2}|720\d{2})\d{10})\b
- Japanin My Number (muototarkistus):
^\d{12}$
- Postinumero + osoiterivi (nopea):
^\d{3}-\d{4}\s+.+$
- <script>-elementin haku (yksinkertainen XSS-testi):
<\s*script\b[^>]*>[\s\S]*?<\s*\/\s*script\s*>
- SQL-avainsanat (yksinkertainen):
\b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b
(i)
Huomio: henkilö- tai luottamuksellista dataa käsiteltäessä tarkista aina lainsäädäntö ja organisaation ohjeet.
Lokit ja formaatit
- Apache/Nginx CLF (yksinkertainen):
^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"([^"]+)"\s+(\d{3})\s+(\d+|-)
- ISO8601-aikaleiman poiminta:
\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})
- JSON Lines (1 JSON per rivi):
^\{.*\}$
(m) - UUID-poiminta:
[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}
(i) - IP-osoitteen poiminta (yksinkertainen IPv4):
\b(?:\d{1,3}\.){3}\d{1,3}\b
Markdown
- Otsikko (#–######):
^(#{1,6})\s+(.+)$
(m) - Linkki:
\[([^\]]+)\]\(([^)]+)\)
- Kuva:
!\[([^\]]*)\]\(([^)]+)\)
- Inline-koodi:
`([^`]+)`
- Koodiblokki (```…``` yksinkertainen):
```[\s\S]*?```
- Luettelomerkki (- * +):
^\s*[-*+]\s+.+$
(m) - Lainaus >:
^\s*>\s+.+$
(m)
Japanilaiset kirjoitusjärjestelmät (Unicode, u-lippu)
- Pelkkä hiragana:
^[\u3041-\u3096]+$
(u) - Pelkkä katakana:
^[\u30A1-\u30FA\u30FC]+$
(u) - Puolileveä katakana:
^[\uFF66-\uFF9D\uFF70]+$
(u) - Sisältää kanjia:
[\u4E00-\u9FFF]
(u) - Vain täysleveät merkit:
^[^\x00-\x7F]+$
- Täysleveät kirjaimet ja numerot:
^[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+$
(u) - Postinumero (täysleveät numerot sallittu):
^[0-9\d]{3}-[0-9\d]{4}$
(u) - Furigana (täysleveä katakana):
^[\u30A1-\u30FA\u30FC\s]+$
(u)
Tekstin käsittelyn apurit
- Poista alkupiste “1. ”:
^\s*\d+\.\s*
(m) - Poista luettelomerkit:
^\s*(?:[-*+]|•|\d+\.)\s*
(m) - Poimi tekstin sisältö sulkujen sisältä:
\(([^)]*)\)
- Poimi tuplalainojen sisältö:
"([^"\\]|\\.)*"
- Poimi jenimäärä “¥123,456”:
¥\s?\d{1,3}(?:,\d{3})*
- Poimi sähköpostin domain:
@([A-Za-z0-9.-]+\.[A-Za-z]{2,})
- Poista HTML-tagit (yksinkertainen):
<[^>]+>
- Tiivistä useat välit yhdeksi:
\s{2,}
Muuta hyödyllistä
- Japanilainen ajoneuvonumero (erittäin karkea):
^[\u3041-\u3096\u30A1-\u30FA\u4E00-\u9FFF]{1,2}\s?\d{3,4}$
(u) - YouTube-video-ID:
(?<=v=|youtu\.be\/)[A-Za-z0-9_-]{11}
- Twitter/X-käyttäjä @-tunnus:
@[A-Za-z0-9_]{1,15}
- Slack-kanava:
#[a-z0-9_-]{1,80}
- Väriavaimet (esimerkkijoukko):
\b(?:red|green|blue|black|white|gray|silver|maroon)\b
(i) - Huomautukset hakasulkeissa […]:
[([^]]*)]|【([^】]*)】|〔([^〕]*)〕
(u) - Puolileveyden katakana:
[\uFF61-\uFF9F]
(u) - Englanninkielinen sana (hyphen sallittu):
\b[A-Za-z]+(?:-[A-Za-z]+)*\b
- Tilausnumero sähköpostissa (esim. #12345):
#\d{4,}
- Japanilainen aseman nimi (päättyy “駅”):
.+駅\b
(u)
Yllä olevat kuviot ovat käytännöllisiä oletuksia. Tarkkaan validointiin (karkausvuodet, IDN-osoitteet, täysi HTML-jäsennys jne.) kannattaa käyttää erillisiä algoritmeja tai kirjastoja.