À suivreGuide suivant
Comment écrire des scripts et des macros de feuille de calcul avec l'IA
Technique
GUIDE Technique
Écrire des expressions régulières avec l'IA signifie décrire le modèle de texte souhaité avec des mots simples, récupérer une expression régulière avec une explication pièce par pièce et la tester par rapport à des exemples réels et délicats avant de l'utiliser.
C'est important car l'expression régulière est compacte et difficile à lire, donc l'IA permet de gagner du temps réel, mais un modèle qui semble correct peut toujours correspondre trop ou pas assez.
Une expression régulière est un mini-langage permettant de décrire des modèles de texte. \d correspond à un chiffre, + signifie un ou plusieurs, [A-Z] est une classe de caractères, ^ et $ ancrent le début et la fin, et les parenthèses créent des groupes que vous pouvez capturer. Regex fonctionne dans presque tous les langages de programmation et dans les éditeurs de texte, les outils de ligne de commande tels que grep et les fonctions de feuille de calcul. Il est également notoirement difficile à lire, c'est exactement pourquoi l'IA aide : vous décrivez le modèle avec des mots et demandez à la fois l'expression régulière et une explication jeton par jeton. La qualité de votre description décide de la qualité du résultat. Dites ce qui doit correspondre et ce qui ne doit pas correspondre, donnez trois à cinq exemples positifs et plusieurs négatifs, et nommez la version ou le moteur : JavaScript, le module re de Python, PCRE, Java, .NET, POSIX grep ou Google Sheets, qui utilise RE2. Les saveurs diffèrent. La prise en charge du lookbehind, la syntaxe des groupes nommés et la gestion Unicode varient, et RE2 laisse délibérément de côté les références arrière et le lookaround afin de pouvoir garantir la correspondance dans le temps linéaire. Puis testez. Collez le modèle dans un testeur tel que regex101, qui met en évidence les correspondances et explique chaque partie, et exécutez-le dans les cas extrêmes : chaînes vides, espaces supplémentaires, entrées très longues, caractères non anglais et quasi-accidents. Vous pouvez également demander à l'IA de générer des chaînes de test délicates, mais vérifiez-les vous-même. Les idées fausses courantes incluent le fait de penser qu'une expression régulière qui correspond à vos exemples est correcte (elle peut également correspondre à des choses que vous n'avez jamais envisagées), que la validation d'e-mail ou d'URL nécessite une expression régulière parfaite (la norme d'adresse e-mail complète est très complexe et la plupart des équipes utilisent un simple contrôle d'intégrité plus un e-mail de confirmation), et que l'expression régulière convient à chaque travail d'analyse. HTML, JSON et les structures imbriquées sont mieux gérées par un véritable analyseur.
Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.
La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.
De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.
Les assistants IA sont désormais intégrés à de nombreux éditeurs de code, donc générer une regex en place devient une routine. Ce qui ne changera pas, c'est que le comportement des regex dépend du moteur et de l'entrée, les tests restent donc de la responsabilité de celui qui expédie le modèle. Les outils qui associent la génération aux cas de test suggérés et aux avertissements concernant les constructions à risque constituent une direction naturelle. Pour de nombreuses tâches, un bon assistant peut également recommander une alternative plus claire, comme une petite fonction d'analyse ou une bibliothèque conçue pour les dates ou les e-mails, qui est souvent plus facile à maintenir qu'un modèle astucieux sur une seule ligne.
Un responsable de l'équipe d'assistance demande un modèle qui trouve des numéros de commande tels que « ORD-2024-00417 » dans le texte de l'e-mail, puis le teste sur « ORD-24-1 » et « word-2024-00417 » pour confirmer que les deux sont rejetés.
Un développeur demande une expression régulière JavaScript qui valide les codes postaux américains sous forme à 5 chiffres ou ZIP+4, ancrés avec ^ et $ afin que « 123456 » échoue.
Un écrivain nettoyant un manuscrit dans un éditeur de code demande une expression régulière de recherche et de remplacement qui réduit les espaces doubles après les points en espaces simples, en utilisant un groupe de capture dans le remplacement.
Un administrateur système demande une expression régulière Python avec des groupes nommés pour extraire l'horodatage, le niveau de journalisation et le message des lignes du journal d'application, puis le vérifie sur les lignes contenant des messages longs et des champs manquants.
L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.
Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.
Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.
Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.
Benchmark dans des conditions de charge et de données réalistes.
Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.
Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Écrire des expressions régulières avec l'IA signifie décrire le modèle de texte souhaité avec des mots simples, récupérer une expression régulière avec une explication pièce par pièce et la tester par rapport à des exemples réels et délicats avant de l'utiliser. C'est important car l'expression régulière est compacte et difficile à lire, donc l'IA permet de gagner du temps réel, mais un modèle qui semble correct peut toujours correspondre trop ou pas assez.
Sans ^ et $ (ou limites de mots), le modèle n'a besoin que de cinq chiffres quelque part dans le texte, donc les entrées invalides plus longues sont toujours transmises.
Les exemples positifs et négatifs définissent les limites du modèle, et nommer la version évite la syntaxe que votre moteur ne prend pas en charge.
RE2 omet les références arrière et la recherche afin de garantir une correspondance temporelle linéaire, ce qui signifie que certains modèles d'autres versions ne fonctionneront pas là-bas.
Les moteurs de backtracking peuvent essayer un nombre explosif de combinaisons avec des quantificateurs imbriqués. Les attaquants peuvent exploiter cela dans un déni de service appelé ReDoS.
Greedy .* consomme autant que possible, puis recule juste assez pour trouver le > final, il s'étend donc sur les deux balises. La version paresseuse <.*?> correspond simplement à "<a>".
Continuez à apprendre
Plus de guides sélectionnés pour ce sujet
À suivreGuide suivant
Comment écrire des scripts et des macros de feuille de calcul avec l'IA
Technique