1 Star 0 Fork 0

林伟奇思妙想/qi

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Z正则.go 2.38 KB
一键复制 编辑 原始数据 按行查看 历史
林伟奇思妙想 提交于 2025-11-24 13:22 +08:00 . On branch master
package qi
import (
"regexp"
)
type Z正则 struct {
元素 *regexp.Regexp
}
func ( *Z正则) C创建(条件语句 string) (返回_错误 error) {
.元素, 返回_错误 = regexp.Compile(条件语句)
return
}
// 返回 匹配列表_带子项 [{"0":"匹配项1","1":"子_匹配项1","2":"子_匹配项2"},{"0":"匹配项2","1":"匹配项2的子_匹配项1","2":"匹配项2的_子匹配项2"}]
func ( *Z正则) C创建_并执行(正则条件语句 string, 参数文本 string) (返回_键值列表 J键值_列表, 返回_错误 error) {
返回_键值列表.QK清空()
.元素, 返回_错误 = regexp.Compile(正则条件语句)
if 返回_错误 != nil {
return
}
结果 := .元素.FindAllStringSubmatch(参数文本, -1)
for _, 成员 := range 结果 {
:= make(map[string]any)
for i, v := range 成员 {
[全_类型.D到文本(i)] = v
}
返回_键值列表.T添加值()
}
return
}
// 返回 匹配列表_带子项 [{"0":"匹配项1","1":"子_匹配项1","2":"子_匹配项2"},{"0":"匹配项2","1":"匹配项2的子_匹配项1","2":"匹配项2的_子匹配项2"}]
// "0"键的值是全匹配值 后面 "1","2","3"...等键 对应子匹配项的值
func ( *Z正则) Q取匹配列表_带子项(参数文本 string) (返回_键值列表 J键值_列表) {
返回_键值列表.QK清空()
结果 := .元素.FindAllStringSubmatch(参数文本, -1)
for _, 成员 := range 结果 {
:= make(map[string]any)
for i, v := range 成员 {
[全_类型.D到文本(i)] = v
}
返回_键值列表.T添加值()
}
return
}
// [匹配项1,匹配项2,匹配项3]
func ( *Z正则) Q取匹配列表(参数文本 string) (返回_键值列表 J键值_列表) {
返回_键值列表.QK清空()
结果 := .元素.FindAllString(参数文本, -1)
呵呵 := make([]any, len(结果))
for i, v := range 结果 {
呵呵[i] = v
}
返回_键值列表.ZR载入(呵呵)
return
}
// 返回分割列表
func ( *Z正则) P匹配_分割(参数文本 string) (返回_键值列表 J键值_列表) {
返回_键值列表.QK清空()
结果 := .元素.Split(参数文本, -1)
返回_键值列表.ZR载入(结果)
return
}
func ( *Z正则) J校验(参数文本 string) bool {
return .元素.MatchString(参数文本)
}
func ( *Z正则) P匹配_替换(参数文本, 替换文本 string) string {
return .元素.ReplaceAllString(参数文本, 替换文本)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mad-wud/qi.git
git@gitee.com:mad-wud/qi.git
mad-wud
qi
qi
v1.0.13

搜索帮助