背景
在 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":"(?[\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
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章