1 Star 0 Fork 0

火焰雨/golin

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
ZRegexp.go 1.96 KB
Copy Edit Raw Blame History
火焰雨 authored 2024-02-22 13:45 +08:00 . first golang package
package golin
import (
"regexp"
)
type ZRegexp struct {
element *regexp.Regexp
}
func (Class *ZRegexp) CCreate(Condition string) (returnerror error) {
Class.element, returnerror = regexp.Compile(Condition)
return
}
// 返回 匹配列表_带子项 [{"0":"匹配项1","1":"子_匹配项1","2":"子_匹配项2"},{"0":"匹配项2","1":"匹配项2的子_匹配项1","2":"匹配项2的_子匹配项2"}]
func (Class *ZRegexp) CCreateAndExec(reg string, text string) (list LList, err error) {
list.QClear()
Class.element, err = regexp.Compile(reg)
if err != nil {
return
}
res := Class.element.FindAllStringSubmatch(text, -1)
for _, ele := range res {
table := make(map[string]any)
for i, v := range ele {
table[allType.DtoText(i)] = v
}
list.TAddValue(table)
}
return
}
// 返回 匹配列表_带子项 [{"0":"匹配项1","1":"子_匹配项1","2":"子_匹配项2"},{"0":"匹配项2","1":"匹配项2的子_匹配项1","2":"匹配项2的_子匹配项2"}]
// "0"键的值是全匹配值 后面 "1","2","3"...等键 对应子匹配项的值
func (Class *ZRegexp) QGetListWithSubElement(text string) (list LList) {
list.QClear()
res := Class.element.FindAllStringSubmatch(text, -1)
for _, ele := range res {
table := make(map[string]any)
for i, v := range ele {
table[allType.DtoText(i)] = v
}
list.TAddValue(table)
}
return
}
// [匹配项1,匹配项2,匹配项3]
func (Class *ZRegexp) QGetList(text string) (list LList) {
list.QClear()
res := Class.element.FindAllString(text, -1)
arr := make([]any, len(res))
for i, v := range res {
arr[i] = v
}
list.ZRLoad(arr)
return
}
// 返回分割列表
func (Class *ZRegexp) PGetSlice(text string) (list LList) {
list.QClear()
res := Class.element.Split(text, -1)
list.ZRLoad(res)
return
}
func (Class *ZRegexp) JCheck(text string) bool {
return Class.element.MatchString(text)
}
func (Class *ZRegexp) PGetReplace(text, replacetext string) string {
return Class.element.ReplaceAllString(text, replacetext)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/Nicklaos/golin.git
git@gitee.com:Nicklaos/golin.git
Nicklaos
golin
golin
v0.0.4

Search