Skip to content

Songmu/strrand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published