Qual è l'espressione regolare che corrisponderà alla stringa /xx/xx/
così come /xx/xx
. xx può essere qualsiasi due lettere.
risposte:
1 per risposta № 1La soluzione più semplice sarebbe un modello letterale di "barra, 2 caratteri, barra, 2 caratteri, barra opzionale":
//ww/ww/?/
Struttura:
/ //JS"s "Start regex"
/ // Escaped "Slash" (matches / )
w // Any word character ([A-Za-z0-9_]) (Twice)
// Then a slash and 2 w"s
/? // Optional slash.
Uso:
"/xx/xx/".match(//ww/ww/?/) // ["/xx/xx/"]
"/xx/xx".match(//ww/ww/?/) // ["/xx/xx"]
"/xx/x".match(//ww/ww/?/) // null
È possibile rendere regex a poco più corto:
/(/ww){2}/?/
Inoltre, potresti voler sostituire w
con [A-z]
, da w
corrisponde anche a cifre ([0-9]
) e il carattere di sottolineatura (_
). Se vuoi che la regex consenta solo lettere, usa [A-z]
.
1 per risposta № 2
La speranza qui sotto aiuterebbe:
/[a-zA-Z][A-Za-z]/[A-Za-z][A-Za-z](/)?/
Supponendo che x potrebbe essere caps o lettere minuscole.
Campioni di prova:
Ab/cd --> True
AA/BB --> True
A/B --> False
XX/SS/ --> True
/X/x/ --> False