正则类

package
v0.0.0-...-fcd50c7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

包gregex提供了正则表达式功能的高性能API。 md5:5d43833868579329

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReplaceFuncMatch

func ReplaceFuncMatch(pattern string, src []byte, replaceFunc func(match [][]byte) []byte) ([]byte, error)

ReplaceFuncMatch:在字节`src`中使用自定义替换函数`replaceFunc`替换所有匹配的`pattern`。`replaceFunc`的参数`match`类型为`[][]byte`,它包含了`pattern`使用Match函数的所有子模式的结果。 md5:cdbed5cefac02741

Example
package main

import (
	"bytes"

	"github.com/888go/goframe/frame/g"
	gregex "github.com/888go/goframe/text/gregex"
)

func main() {
	var (
		patternStr = `(\d+)~(\d+)`
		str        = "hello gf 2018~2020!"
	)
	// 与[ExampleReplaceFunc]不同的是,
	// 结果包含了使用匹配函数的所有子模式的`pattern`。
	// md5:1b711898b19df13d
	result, err := gregex.ReplaceFuncMatch(patternStr, []byte(str), func(match [][]byte) []byte {
		g.X调试输出(match)
		match[2] = []byte("2021")
		return bytes.Join(match[1:], []byte("-"))
	})
	g.X调试输出(result)
	g.X调试输出(err)

}
Output:

[
    "2018~2020",
    "2018",
    "2020",
]
"hello gf 2018-2021!"
<nil>

func ReplaceStringFuncMatch

func ReplaceStringFuncMatch(pattern string, src string, replaceFunc func(match []string) string) (string, error)

ReplaceStringFuncMatch 将字符串 `src` 中所有与 `pattern` 匹配的部分 使用自定义替换函数 `replaceFunc` 进行替换。 替换函数 `replaceFunc` 的参数 `match` 类型为 []string, 它包含使用 MatchString 函数得到的 `pattern` 中所有子模式匹配结果。 md5:b24f208b16cfd56a

Example
package main

import (
	"github.com/888go/goframe/frame/g"
	gregex "github.com/888go/goframe/text/gregex"
)

func main() {
	var (
		patternStr = `([A-Z])\w+`
		str        = "hello Golang 2018~2021!"
	)
	// 与[ExampleReplaceFunc]不同的是,
	// 结果包含了使用匹配函数的所有子模式的`pattern`。
	// md5:1b711898b19df13d
	result, err := gregex.ReplaceStringFuncMatch(patternStr, str, func(match []string) string {
		g.X调试输出(match)
		match[0] = "Gf"
		return match[0]
	})
	g.X调试输出(result)
	g.X调试输出(err)

}
Output:

[
    "Golang",
    "G",
]
"hello Gf 2018~2021!"
<nil>

func X分割

func X分割(表达式 string, 文本 string) []string

X分割 将切片 `src` 按照给定的表达式分割成多个子字符串,并返回这些匹配之间的子字符串切片。 md5:e0809df699cf82c1

func X匹配全部字节集

func X匹配全部字节集(表达式 string, 字节集 []byte) ([][][]byte, error)

X匹配全部字节集 返回所有匹配`pattern`的字节切片。 md5:64871f15e4916377

func X匹配全部文本

func X匹配全部文本(表达式 string, 文本 string) ([][]string, error)

X匹配全部文本 返回所有与`pattern`匹配的字符串。 md5:ec34b1802db69c97

func X匹配字节集

func X匹配字节集(表达式 string, 字节集 []byte) ([][]byte, error)

X匹配字节集 返回匹配`pattern`的字节切片。 md5:7f3dd939e61e4db8

func X匹配文本

func X匹配文本(表达式 string, 文本 string) ([]string, error)

X匹配文本 返回与`pattern`匹配的字符串。 md5:d4d623eec4e1f3ec

func X是否匹配字节集

func X是否匹配字节集(表达式 string, 字节集 []byte) bool

X是否匹配字节集 检查给定的字节`src`是否匹配`pattern`。 md5:7f26688fb33d288d

func X是否匹配文本

func X是否匹配文本(表达式 string, 字节集 string) bool

X是否匹配文本 检查给定的字符串 `src` 是否与 `pattern` 匹配。 md5:b4afd86a0688ae19

func X替换字节集

func X替换字节集(表达式 string, 替换字节集, 字节集 []byte) ([]byte, error)

X替换字节集 将 `src` 字节中的所有匹配 `pattern` 的部分替换为 `replace` 字节。 md5:5d5c7ad162f72858

func X替换字节集_函数

func X替换字节集_函数(表达式 string, 字节集 []byte, 回调函数 func(b []byte) []byte) ([]byte, error)

X替换字节集_函数 使用自定义的替换函数 `replaceFunc`,将字节切片 `src` 中所有匹配的 `pattern` 替换。 md5:3b66619bd59d4056

func X替换文本

func X替换文本(表达式, 替换文本, 文本 string) (string, error)

X替换文本 将字符串 `src` 中所有匹配的 `pattern` 替换为字符串 `replace`。 md5:1e7fdbe12a62e763

func X替换文本_函数

func X替换文本_函数(表达式 string, 文本 string, 回调函数 func(s string) string) (string, error)

X替换文本_函数 函数会在字符串 `src` 中替换所有匹配的 `pattern`,使用自定义的替换函数 `replaceFunc`。 md5:8575760795474682

func X表达式验证

func X表达式验证(表达式 string) error

X表达式验证 检查给定的正则表达式模式 `pattern` 是否有效。 md5:39fda51666585abe

func X转义特殊符号

func X转义特殊符号(文本 string) string

X转义特殊符号 通过替换`s`中的特殊字符,使其符合正则表达式模式的规则,对`s`进行引号包裹。然后返回修改后的字符串。

例如:X转义特殊符号(`[foo]`) 返回 `\[foo\]`。 md5:baab9e0870efe45f

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL