Mastering regular expressions: la lecture qu'elle en est bien
Le Sat, Jun 03, 2023 at 02:08:55PM +0200, Dethegeek a écrit :
> Par exemple, dans un texte contenant des chaînes délimitées soit par des
> doubles quotes ou des simples quotes (le HTML apr exemple) alors tu peux
si il y a bien *un* truc à ne jamais parser avec des regexps autrement
que pour du one shot, c'est tous ces formats dont la structure est très
complexe (xml,html,yaml, …
> capturer le début d'une chaîne avec ("|') puis trouver la fin de cette chaîne
> avec \1.
GNI? non …
* on capture avec des parenthèses qui expliquent ou commencent
et finissent la capture
* la capture numero N (\N) est celle de la Nième (
sed -r '
s/(.*-(.*)) (.*)/ 1: \1\n 2: \2\n 3: \3\n/
' <<%
Saint-Exupery Antoine
te donneras
1: Saint-Exupery
2: Exupery
3: Antoine
les | servent à écrire des Atomes alteratifs
sed -rn 's/Saint-(Exupery|Hilaire) (.*)/\2 est saint /p' <<%
Saint-Exupery Antoine
Saint-Thomas d'Aquin
Donne:
Antoine est saint
> Tu as aussi des outils sympas pour tester tes regexes,
> https://regex101.com/
ou vim avec
:set is hls
et les verymagic (\v)
ou tout simplement des exos de sed. j'avoue ne pas piger pourquoi
tous ces millions de lignes de code et du réseau gachés juste pour
s'amuser avec des outils qui ne pèsent rien sur ta machine.
> Et une excellente documentation sur les regexes, celle qui m'a permis de tout
> en apprendre il y a bien longtemps. Pour moi c'est une référence dans le
> domaine.
De *très très très* loin, ce que j'ai pu lire de mieux sur les regexps est
https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/
Non seulement c'est techniquement très précis (les types de moteurs,
avantages comparés de NFA et DFA, tout ça …) mais en plus c'est *très
bien écrit* et ca donne envie d'essayer les trucs. A lire entre amis
avec les laptops à porté de main, ça remplace aisément les soirées
jeu de plateaux ou netflix.
cordialement,
marc
Reply to: