ER – 根据正则生成随机字符串的 Go 包/CLI
資深大佬 : shangyes 3
动机
数据库实验要生成 mock 数据,为了方便准备搞一个根据表结构生成 mock 数据的工具,计划的第一步就是做这个反向正则。
思路
Go 的官方 regexp/syntax 包提供了现成的正则解析功能,直接拿来生成解析树后递归 switch...case... 来生成随机字符串。
结果
仓库: https://github.com/unbyte/er
本地有 Go 的情况下直接 go get 获得可执行程序。
go get -u github.com/unbyte/er/cmd/er er --help
其他情况下进仓库 Release 页面手动下载。
使用↓
> er --help Usage of ER CLI: -a, -amount int amount of strings to be generated. default to 1. (default 1) -p, -pattern string pattern string Syntax: https://golang.org/pkg/regexp/syntax/ Unicode Class: https://en.wikipedia.org/wiki/Unicode_character_property > er -p "d{3}-d{8}|d{4}-d{7}" -a 10 454-16390004 0913-1976506 543-75125853 280-27961072 5049-7522609 7833-1752530 822-89737417 7176-8019427 5181-6167904 090-60481568 > er -p "[ 大佬有話說 (0)