A cosa serve e come si usa questa regex?
Valida la struttura a tre parti codificate in Base64URL separate da due punti di un JSON Web Token.
Espressione Regolare (Pattern)
Flag consigliati:
nessuno · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$
Integrazione nel codice
Snippet pronti all'uso// JavaScript (ES6+)
const regex = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/;
const isValid = regex.test(text);
// Estrazione match
const matches = text.match(regex);
<?php
// PHP 8.2+ (PCRE)
$pattern = '~^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$~';
$isValid = (bool) preg_match($pattern, $text);
// Estrazione con gruppi
if (preg_match($pattern, $text, $matches)) {
print_r($matches);
}
# Python 3 (re)
import re
pattern = r"^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$"
is_valid = bool(re.search(pattern, text))
# Estrazione match
match = re.search(pattern, text)
if match:
print(match.group(0))
// Go (regexp)
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$`)
isValid := re.MatchString(text)
fmt.Println(isValid)
}
// C# (.NET)
using System;
using System.Text.RegularExpressions;
bool isValid = Regex.IsMatch(text, @"^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$");
Come funziona (Spiegazione dettagliata)
- La prima parte rappresenta l’Header Base64URL.
- La seconda parte rappresenta il Payload (Claims).
- La terza parte rappresenta la Firma crittografica (Signature).
Casi d’uso consigliati
- Header di autenticazione HTTP `Authorization: Bearer <token>`
- Middleware API per la convalida preliminare dei token prima del decode crittografico
- Sanity check su token di sessione OAuth2 e OpenID Connect
Esempi che corrispondono (Validi)
2 test passatieyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhdXRoMCJ9.signature_part_abc123
Esempi rifiutati (Non validi)
3 test respintieyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0
token-non-valido-senza-punti
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.firma.extra
Limiti tecnici e avvertenze
- Verifica solo la forma sintattica: per convalidare l’integrità e la scadenza del token verificare sempre la firma con la chiave segreta (HMAC) o pubblica (RSA/ECDSA) del provider.
Espressioni regolari correlate
Base
Base64url senza padding
Riconosce stringhe Base64url senza caratteri di padding `=`.
Vedi scheda
Intermedio
UUID versione 4 (Universally Unique Identifier)
Valida un identificatore UUID v4 generato casualmente nel formato canonico 8-4-4-4-12 caratteri esadecimali con cifre di versione e variante corrette.
Vedi scheda
Base
UUID generico (Versioni 1–5)
Valida qualsiasi identificatore UUID conforme al formato esadecimale a 36 caratteri (8-4-4-4-12).
Vedi scheda
Verifica empirica
Apri nel tester
Hai bisogno di collaudare questo pattern con i tuoi dati?
Apri il tester sandboxato con questa regex già caricata e verifica i gruppi di cattura.