Maison >développement back-end >Golang >Comment contourner les lookarounds dans Go Regex ?
Lors de la tentative d'utilisation d'une expression régulière dans Go, une erreur est rencontrée :
error parsing regexp: invalid or unsupported Perl syntax: (?!
Cette erreur se produit spécifiquement avec les éléments suivants regex :
regexp.MustCompile("^(?!On.*On\s.+?wrote:)(On\s(.+?)wrote:)$")
Le problème se pose car Go regex ne prend pas en charge les lookarounds, contrairement aux Lookarounds qui sont des assertions qui vérifient le texte environnant sans le consommer.
Pour contourner cette limitation, utilisez une approche différente :Tout d'abord, compilez deux règles régulières distinctes expressions :first := regexp.MustCompile(`^On\s(.+?)wrote:$`) second := regexp.MustCompile(`^On.*On\s.+?wrote:`)Ensuite, effectuez les étapes suivantes :
regex := regexp.MustCompile(`^On(.*On)?\s.+?wrote:`)Vérifiez une correspondance et renvoie vrai si :
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!