Documentation ¶
Index ¶
- Variables
- func Generate(pattern string) ([]string, error)
- func GenerateOne(pattern string) (string, error)
- func GenerateOneStream(pattern string, ctxs ...context.Context) (string, error)
- func GenerateStream(pattern string, ctxs ...context.Context) (chan string, context.CancelFunc, error)
- func GenerateVisibleOne(pattern string) (string, error)
- func GenerateVisibleOneStream(pattern string, ctxs ...context.Context) (string, error)
- func MustGenerate(pattern string) []string
- func MustGenerateOne(pattern string) string
- func MustGenerateVisibleOne(pattern string) string
- func ProductString(sets ...[]string) []string
- func ProductStringWithCallback(sets [][]string, callback func(string) error) error
- type CaptureGroupHandler
- type Generator
- type GeneratorArgs
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func Generate ¶
Generate 根据正则表达式生成所有匹配的字符串,返回生成的字符串切片和错误 对于一些可能匹配多次的元字符: * : 则只会生成匹配 0 次或 1 次的字符串 + : 则只会生成匹配 1 次或 2 次的字符串 {n,m} : 则会生成匹配 n 次到 m 次的字符串 {n,} : 则只会生成匹配 n 次或 n+1 次的字符串 Example: ``` regen.Generate("[a-z]+") // a-z 单个字母,aa-zz 两个字母 ```
func GenerateOne ¶
GenerateOne 根据正则表达式生成一个匹配的字符串,返回生成的字符串和错误 Example: ``` regen.GenerateOne("[a-z]") // a-z 中随机一个字母 regen.GenerateOne("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func GenerateOneStream ¶
GenerateStream 根据正则表达式流式生成一个匹配的字符串,返回生成的字符串和错误 对于一些可能匹配多次的元字符: * : 则只会生成匹配 0 次或 1 次的字符串 + : 则只会生成匹配 1 次或 2 次的字符串 {n,m} : 则会生成匹配 n 次到 m 次的字符串 {n,} : 则只会生成匹配 n 次或 n+1 次的字符串 Example: ``` regen.GenerateOneStream("[a-z]+") // a-z 中随机一个字母 regen.GenerateOneStream("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func GenerateStream ¶
func GenerateStream(pattern string, ctxs ...context.Context) (chan string, context.CancelFunc, error)
GenerateStream 根据正则表达式流式生成所有匹配的字符串,返回生成的字符串通道和生成取消函数和错误 对于一些可能匹配多次的元字符: * : 则只会生成匹配 0 次或 1 次的字符串 + : 则只会生成匹配 1 次或 2 次的字符串 {n,m} : 则会生成匹配 n 次到 m 次的字符串 {n,} : 则只会生成匹配 n 次或 n+1 次的字符串 Example: ``` ch, cancel, err = regen.GenerateStream("[a-z]+") for s = range ch { println(s) } ```
func GenerateVisibleOne ¶ added in v1.2.8
GenerateVisibleOne 根据正则表达式生成一个匹配的字符串(都是可见字符),返回生成的字符串和错误 Example: ``` regen.GenerateVisibleOne("[a-z]") // a-z 中随机一个字母 regen.GenerateVisibleOne("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func GenerateVisibleOneStream ¶
GenerateVisibleOneStream 根据正则表达式流式生成一个匹配的字符串(都是可见字符),返回生成的字符串和错误 对于一些可能匹配多次的元字符: * : 则只会生成匹配 0 次或 1 次的字符串 + : 则只会生成匹配 1 次或 2 次的字符串 {n,m} : 则会生成匹配 n 次到 m 次的字符串 {n,} : 则只会生成匹配 n 次或 n+1 次的字符串 Example: ``` regen.GenerateVisibleOneStream("[a-z]") // a-z 中随机一个字母 regen.GenerateVisibleOneStream("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func MustGenerate ¶
MustGenerate 根据正则表达式生成所有匹配的字符串,如果生成失败则会崩溃,返回生成的字符串切片 对于一些可能匹配多次的元字符: * : 则只会生成匹配 0 次或 1 次的字符串 + : 则只会生成匹配 1 次或 2 次的字符串 {n,m} : 则会生成匹配 n 次到 m 次的字符串 {n,} : 则只会生成匹配 n 次或 n+1 次的字符串 Example: ``` regen.MustGenerate("[a-z]+") // a-z 单个字母,aa-zz 两个字母 ```
func MustGenerateOne ¶ added in v1.2.9
MustGenerateOne 根据正则表达式生成一个匹配的字符串,如果生成失败则会崩溃,返回生成的字符串 Example: ``` regen.MustGenerateOne("[a-z]") // a-z 中随机一个字母 regen.MustGenerateOne("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func MustGenerateVisibleOne ¶ added in v1.2.9
MustGenerateVisibleOne 根据正则表达式生成一个匹配的字符串(都是可见字符),如果生成失败则会崩溃,返回生成的字符串 Example: ``` regen.MustGenerateVisibleOne("[a-z]") // a-z 中随机一个字母 regen.MustGenerateVisibleOne("^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$") // 生成一个手机号 ```
func ProductString ¶
Types ¶
type CaptureGroupHandler ¶
type Generator ¶
type Generator interface { Generate() []string GenerateStream(context.Context, chan string) error String() string CheckVisible(str string) bool }
func NewGenerator ¶
func NewGenerator(pattern string, inputArgs *GeneratorArgs) (generator Generator, err error)
func NewGeneratorOne ¶
func NewGeneratorOne(pattern string, inputArgs *GeneratorArgs) (geneator Generator, err error)
func NewGeneratorVisibleOne ¶ added in v1.2.8
func NewGeneratorVisibleOne(pattern string, inputArgs *GeneratorArgs) (geneator Generator, err error)
type GeneratorArgs ¶
type GeneratorArgs struct { Flags syntax.Flags CaptureGroupHandler CaptureGroupHandler }