No description or website provided.
Go Makefile
Latest commit a1c6df8 Mar 29, 2015 @Songmu fix naruhodo
Permalink
Failed to load latest commit information.
cmd/strrand
.travis.yml
LICENSE
Makefile
README.md
strrand.go
strrand_test.go

README.md

strrand

Build Status Coverage Status MIT License GoDoc

Description

generate random strings from a pattern like regexp

It is golang porting of perl's String::Random (ported only randregex interface)

Synopsis

str, err := strrand.RandomString(`[1-9]{1,3}.?`)
fmt.Println(str) // 13h

OO interface

sr := strrand.New()
str, err := sr.Generate(`[あ-お]{15,18}`)

Factory Method

g, err := strrand.New().CreateGenerator(`\d{2,3}-\d{3,4}-\d{3,4}`)
str1 := g.Generate() // 11-2258-333
str2 := g.Generate() // 093-0033-3349

Supported Patterns

Please note that the pattern arguments are not real regular expressions. Only a small subset of regular expression syntax is actually supported. So far, the following regular expression elements are supported:

\w    Alphanumeric + "_".
\d    Digits.
\W    Printable characters other than those in \w.
\D    Printable characters other than those in \d.
\s    Whitespaces (whitespace and tab character)
\S    Ascii characters without whitespaces
.     Printable characters. (ascii only)
[]    Character classes. (Supported multibyte characters)
{}    Repetition.
*     Same as {0,}.
?     Same as {0,1}.
+     Same as {1,}.

Disclaimer

Seeding is naive and not secure. So, don't use this for creating password and so on.

Author

Songmu