Maison >développement back-end >Golang >Scanner d'expressions régulières en streaming — regexpscanner

Scanner d'expressions régulières en streaming — regexpscanner

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 16:10:16722parcourir

Streaming regex scanner — regexpscanner

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

Installer le module

go get github.com/tonymet/regexpscanner@latest

Exemple d'utilisation

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)
        })
}

Sortir

<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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn