首页 >后端开发 >Golang >流式正则表达式扫描器 — regexpscanner

流式正则表达式扫描器 — regexpscanner

Patricia Arquette
Patricia Arquette原创
2024-12-06 16:10:16722浏览

Streaming regex scanner — regexpscanner

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn