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