L'élégante simplicité des RegEx
Allez, petite publicité pour le jeu en ligne RegEx Crossword. Ça permet de bien comprendre les Expressions Régulières tout en s'amusant comme un fou. Un fou furieux, ça va sans dire.
À tout hasard, je rappelle que les Expressions Régulières c'est absolument trivial. Mais bon quand même, j'ai dû taffer un peu pour me tailler ma place dans le top 20.
Bon, ça reste une histoire hein, quels élèves restent une heure en amphi après le départ du prof...
Une heure d'insomnie en plus
Je republie ici ce texte écrit en une heure, précisément l'heure supplémentaire entre 2h et 3h du matin à la faveur du passage en heure d'hiver.
Ce dont l’humanité se souviendra c’est que ça a commencé à dix heures cinquante et une minute dix-huit secondes précises. Ou alors très exactement à cinq heures quarante cinq et sept secondes. À moins que ce ne soit pile à dix-sept heures deux minutes et cinquante secondes.
En tout cas ça a commencé partout en même temps.
Jeremy déboule tout essoufflé dans le grand café face au Jardin du Luxembourg. S’il y a bien une chose qu’il déteste c’est arriver en retard. Surtout qu’il croyait avoir tout fait pour être en avance. Du regard il balaye les personnes attablées. Grâce à la photo sur son portable il reconnait Aïcha. Wahou encore plus belle en vrai ! Un instant Jeremy reprend son souffle et se refait une contenance. Enfin il affiche son plus beau sourire et avance vers Aïcha.
Au L.H.C. de Genève rien de va plus. La direction a rappelé tout le personnel disponible. Mais aucune expérience en vrai grandeur n’est autorisée. Trop dangereux pour l’instant. Si tant est que « pour l’instant » ait encore le moindre sens. Alors on cherche, on s’affaire, on émet des hypothèses. On gratte à la craie sur du tableau noir, au feutre à alcool sur du tableau blanc, on efface des équations d’un coup de chiffon rageur.
À l’école Chloé a tout juste le temps de se rasseoir que retentit, une fois de plus, la sonnerie de la récréation. La maîtresse en reste bouche bée. Les enfants se regardent incrédules. Un silence reste suspendu dans l’air. Et l’instant d’après ce ne sont que cris de joie et papiers qui volent : « Encore la récré, encore la récré ! » La maitresse hésite entre contrariété et résignation… de toute manière les CM1 il n’y a pas moyen de les tenir.
Aïcha a reconnu Jérémy dès son entrée fracassante. Elle regarde l’heure sur son portable. Quoi, une demi-heure d’avance ? Mais qui donc arrive avec une demi-heure d’avance pour un date ? Elle sursaute. Comment est-ce possible, elle vient à peine d’arriver et elle était pile à l’heure. Ah, Jeremy l’a vue et s’approche en souriant. Joli sourire d’ailleurs.
À l’hippodrome c’est n’importe quoi. Première fois que ça arrive ! Une partie des chevaux a démarré la course alors que l’autre n’était même pas sorti des boxes. Il a fallu annuler, recommencer, une fois deux fois. Pas moyen de les faire partir ensemble. De toute façon la moitié des spectateurs seulement était arrivée. D’autres étaient à la buvette attendant que ça commence dans dix minutes. Euh, non, dans trois minutes. Mais pas du tout madame, dans un quart d’heure voyons, on a bien le temps.
Au LHC on re-autorise finalement les expérimentations. Parce qu’il s’agirait de comprendre quand même ! Des particules accélèrent, tournent, tournent, tournent… et se ratent complètement. Les techniciens, les ingénieurs, les chercheurs, tout le monde s’énerve. Ça enclenche, ça reboote, ça pianote, ça griffonne, mais rien n’y fait. Plus moyen de déterminer ne serait-ce que l’instant d’une collision.
Chloé a suffisamment joué. Dos à un platane elle observe maintenant l’étrange ballet de la directrice. Perchée au sommet d’une haute échelle elle bidouille la sonnerie. Sûrement pour la débrancher pense Chloé, parce qu’elle sonnait vraiment à tout instant. Dehors des parents attendent. « Vous allez voir qu’ils vont encore nous les lâcher en retard ! » « Oh ben là ça va, c’est pas avant dix bonnes minutes, on a bien le temps de papoter. Et comment va-elle votre petite Chloé ? »
Partout dans le monde des gens vont rater leur rendez-vous, des réveils vont sonner trop tôt. Ou pas du tout. Des poulets cuiront trop longtemps, des trains partiront en avance, des lampadaires s’allumeront en plein jour… Plus tard on saura qu’il est arrivé des choses terribles, des accidents, des avions en perdition. Les gouvernements feront des déclarations sérieuses à la télé au journal de 20h17. Euh… 20h41 vous voulez-dire ? Non, non, plutôt 17h53.
Les militaires seront sur la brèche pendant des semaines jusqu’à constater qu’il n’y a plus moyen de synchroniser la moindre opération. Les mois qui suivront, et c’est bien triste, quelques physiciens se pendront de désespoir sans que quiconque – samu, médecin, famille – ne sache s’accorder sur l’heure du décès.
Mais pour l’instant, Chloé saute dans les bras de papa à la sortie de l'école. Pour l'instant Aïcha et Jeremy se demandent s’ils commandent deux autres cafés ou s’ils ne vont pas plutôt déambuler un peu sur les allées du Jardin du Luxembourg.
Harakiri For The Sky - With Autumn I'll Surrender
Harakiri For the Sky ce sont mes chouchous du moment. Depuis un bon moment même. Enfin depuis leurs débuts quoi. Et aujourd'hui nouveau morceau, nouvelle vidéo : With Autumn I'll Surrender. Un pur régal.
Jolie astuce en RegEx (merci ChatGPT)
grep --color "Metal" *.txt
Mais là je voulais en plus afficher les lignes qui ne contiennent pas le motif. Je ne savais pas comment faire ça de manière simple. Et ChatGPT m'a proposé cette astuce (après simplification), que je trouve super élégante
grep --color "^|Metal" *.txt
Toute l'astuce réside dans l'utilisation du '^' (pour début de ligne) combiné avec un ou (|). Le '^' match tout mais sans rien mettre en couleur.
- C'était évident.
- Ça n'était pas si difficile à trouver.
- Heu... nan... mais en fait j'le savais déjà...
grep --color -e 'Metal' *.txt
Là aussi, une fois la réponse sous les yeux on s'aperçoit que c'était parfaitement évident. Bien entendu.
(*) Ce foutoir là-dedans, on dirait mon garage !
Attaquer la falaise
Récemment je vous parlais des mots-croisés RegEx.
Je m'étais mis en tête de grimper jusqu'au Top 50 et puis de passer à autre chose. Ouaip. C'était compter sans l'empire d'addiction que ce jeu exerce sur moi.
Dans mon billet précédent je vous conseillais d'y jouer. N'EN FAITES RIEN ! C'est de la demer! Pire qu'une drogue. Pire que le combo fentanyl / crack / viagra / vitamine C / gelée de framboise(*).
La difficulté devient exponentielle, chaque niveau nécessitant de résoudre des puzzles de plus en plus difficiles (et intéressants !). Pire, là où j'en suis maintenant il y a une véritable falaise à gravir.
Je vous ai fait un graphique basé sur le classement du jour. En abscisse vous avez le rang. En ordonnée le nombre de puzzles à résoudre. La ligne pointillée c'est moi. Et la falaise ce sont les 50 p*t'1n de puzzles à résoudre pour passer de 29ième à 28ième.
Jusqu'à maintenant j'arrivais à progresser sans trop trop de douleur... Mais là je deviens dingue avec ce truc... J'ai bien peur qu'il faille mettre le cerveau en route... Je vais tenter le coup vite vite... avant que les mecs en blanc ne reviennent m'attacher les mains dans le dos... et me refaire des piqures qui rendent nigaud.... vite... vite...
Classement sur RegEx crosswords et falaise à gravir pour passer de 29 à 28. |
(*) Pour le goût.