Écrivez une expression régulière qui fonctionne dans au moins 2 versions (ou versions) d'expressions régulières, et faites correspondre une chaîne différente dans chaque version (ou version) dans laquelle elle s'exécute.
Les chaînes à associer dans ce défi sont les premiers mots des noms de code Ubuntu, qui sont répertoriés ci-dessous. Votre expression régulière doit correspondre en haut de la liste. Autrement dit, si votre regex fonctionne en 3 saveurs, il doit correspondre Warty
Hoary
et Breezy
et pas d'autres.
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
...
Si votre regex fonctionne dans plus de 26 versions, vous pouvez plutôt faire correspondre les numéros de version d'Ubuntu. À partir de 17.10, pour chaque nouvelle saveur, changez le deuxième nombre en 10 s'il était 04, et incrémentez le premier nombre et changez le second en 04 sinon.
Dans chaque saveur, votre expression régulière ne doit correspondre qu'à la chaîne supposée et à rien d'autre (non limité aux noms de code). La fin des nouvelles lignes n'a pas d'importance. Cela signifie que votre expression régulière peut correspondre uniquement à la chaîne sans la nouvelle ligne de fin, correspondre uniquement à la chaîne avec la nouvelle ligne de fin ou correspondre aux deux. Et il n'a pas besoin d'être cohérent dans différentes saveurs. Vous pouvez supposer que l'entrée est en ASCII imprimable (sauf pour la nouvelle ligne de fin, s'il y en a une).
Votre score est (la longueur de votre code + 10) / ((nombre de saveurs) ^ 2). Le score le plus bas l'emporte.