0


【Golang】Perl 正则表达式语法的支持示例

背景

在 Golang 中,标准库的正则表达式包

regexp

是基于 RE2 语法的,并不直接支持 Perl 正则表达式的全部功能。虽然 Golang 的标准库并不直接提供对 Perl 正则表达式的支持,但是您可以使用第三方库来实现与 Perl 兼容的正则表达式功能。

一个常用的第三方库是

github.com/dlclark/regexp2

,该库提供了对 Perl 正则表达式语法的支持。您可以使用它来实现与 Perl 兼容的正则表达式匹配。

以下是一个示例代码,演示如何使用

github.com/dlclark/regexp2

库实现对 Perl 正则表达式的支持。

示例


import (
    "github.com/dlclark/regexp2"
)

// MatchText 匹配文本 text:原始文本 reg:正则 key 名称
func MatchText(text, reg, key string) (bool, string) {
    re := regexp2.MustCompile(reg, 0)

    // 查找匹配项
    match, _ := re.FindStringMatch(text)
    if match != nil {
        capture := match.GroupByName(key)
        return true, capture.String()
    }
    return false, "未匹配"
}

func main() {
    text := `{"text":"中国银行 是一家很大的银行"}`
    reg := `"text":"(?<name>[\p{Han}]*银行)"`

    ok, resp := MatchText(text, reg, "name")

    log.info(resp)
}

推荐

发票识别: https://behappyto.blog.csdn.net/article/details/135557496?spm=1001.2014.3001.5502

内容管理系统:https://behappyto.blog.csdn.net/article/details/135529753?spm=1001.2014.3001.5502

sso统一授权平台:https://behappyto.blog.csdn.net/article/details/135531245?spm=1001.2014.3001.5502


本文转载自: https://blog.csdn.net/qq_38428623/article/details/135622669
版权归原作者 比嗨皮兔 所有, 如有侵权,请联系我们删除。

“【Golang】Perl 正则表达式语法的支持示例”的评论:

还没有评论