Scrivi un regex che funziona in almeno 2 regex flavours (o versioni) e abbina una stringa diversa in ogni flavour (o versione) in cui è in esecuzione.
Le stringhe da abbinare a questa sfida sono le prime parole dei nomi di codice Ubuntu, che sono elencati di seguito. La tua regex deve corrispondere dalla cima dell'elenco. Cioè, se il tuo regex funziona in 3 gusti, deve corrispondere Warty
Hoary
e Breezy
, e non altri.
Warty
Hoary
Breezy
Dapper
Edgy
Feisty
Gutsy
Hardy
Intrepid
Jaunty
Karmic
Lucid
Maverick
Natty
Oneiric
Precise
Quantal
Raring
Saucy
Trusty
Utopic
Vivid
Wily
Xenial
Yakkety
Zesty
17.10
18.04
18.10
19.04
19.10
...
Se il tuo regex funziona in più di 26 versioni, puoi invece abbinare i numeri di versione di Ubuntu. A partire da 17.10, per ogni nuovo sapore, cambia il secondo numero in 10 se fosse 04, e incrementa il primo numero e cambia il secondo in 04 altrimenti.
In ogni aspetto, il tuo regex dovrebbe corrispondere solo alla stringa presunta e nient'altro (non limitato ai nomi di codice). Il trascinamento delle newline non ha importanza. Ciò significa che il tuo regex potrebbe abbinare solo la stringa senza la nuova riga finale, abbinare solo la stringa con la nuova riga finale, o abbinare entrambi. E non deve essere coerente in diversi gusti. Puoi supporre che l'input sia in ASCII stampabile (eccetto per la nuova riga finale, se presente).
Il tuo punteggio è (la lunghezza del tuo codice + 10) / ((numero di gusti) ^ 2). Il punteggio più basso vince.