Le module regexp de Go ne parvient pas à traiter les flux : presque toutes les méthodes nécessitent une chaîne ou un []octet. Le module regexpscanner facilite l'extraction de jetons qui correspondent à des modèles d'expressions régulières.
https://pkg.go.dev/github.com/tonymet/regexpscanner
go get github.com/tonymet/regexpscanner@latest
utilisez ProcessTokens lorsqu'un simple tokenizer de flux basé sur un rappel est nécessaire.
ProcessTokens appelle handler(string) pour chaque jeton correspondant du scanner.
package main import ( "fmt" "regexp" "strings" rs "github.com/tonymet/regexpscanner" ) func main() { rs.ProcessTokens( strings.NewReader("<html><body><p>Welcome to My Website</p></body></html>"), regexp.MustCompile(`</?[a-z]+>`), func(text string) { fmt.Println(text) }) }
<html> <body> <p> </p> </body> </html>
Essayez-le et consultez la page du module Go pour plus d'exemples
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!