L'ensemble d'expressions regex annulées ne fonctionne pas dans Go
Dans cet article, nous explorons une expression regex qui ne parvient pas à faire correspondre les chaînes dans Golang car elle fait dans les analyseurs de regex en ligne. Le problème vient du fait que l'ensemble nié n'est pas pris en charge dans le moteur d'expression régulière de la bibliothèque standard de Go, RE2.
L'expression régulière en question est conçue pour faire correspondre les chaînes qui :
L'implémentation de cette expression dans Golang ne produit pas les mêmes correspondances que le démontre l'analyseur d'expressions régulières en ligne car RE2, utilisé par la bibliothèque standard de Golang, ne prend pas en charge des opérateurs de recherche comme l'opérateur de recherche négatif ("?!").
Pour résoudre ce problème, nous avons deux options :
En utilisant l'une ou l'autre de ces approches, nous pouvons obtenir le comportement de correspondance souhaité dans Golang.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!