Go 的 regexp 模組在流處理方面存在不足——幾乎所有方法都需要字串或 [] 位元組。 regexpscanner 模組可以輕鬆擷取與正規表示式模式相符的標記。
https://pkg.go.dev/github.com/tonymet/regexpscanner
go get github.com/tonymet/regexpscanner@latest
當需要一個簡單的基於回呼的流標記產生器時,使用 ProcessTokens 。
ProcessTokens 為掃描器中的每個匹配令牌呼叫 handler(string)。
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>
試試看並查看 Go 模組頁面以取得更多範例
以上是流式正規表示式掃描器 — regexpscanner的詳細內容。更多資訊請關注PHP中文網其他相關文章!