A module to generate a random string based on a given string pattern
The package can be installed by adding random_string_generator to your list of dependencies in mix.exs:
def deps do
  [
    {:random_string_generator, "~> 1.0.0"}
  ]
endUse l for lower case letter from a to z
Use L for upper case letter from A to Z
Use d for digit from 0 to 9
Use p for punctuation
Use c for custom character
!, ", #, $, %, &, ', (, ), *, +, ,, -,
., /, :, ;, <, =, >, ?, @, [, \, ], ^,
_, {, |,}, ~ and `
iex> RandomStringGenerator.generate("lldd")
"ol68"iex> RandomStringGenerator.generate("LL")
"VR"iex> RandomStringGenerator.generate("pp")
"?!"Delimiters
Everything that is not l,L,d,p and c is treated as a delimiter so
the pattern -dl? is interpreted as a hyphen followed by a digit followed by
a lower case letter followed by a question mark.
iex> RandomStringGenerator.generate("ll-")
"yz-"Scape
In order to generate a string containing the characters l,L,d and p
as a delimiter, you need to use the backslash twice in order to scape it.
iex> RandomStringGenerator.generate("dd\\l\\L\\d\\p")
"39lLdp"Custom Chars
I order to generate a string based on a given custom pattern ccc a list
of possible values need to be passed as an argument.
iex> RandomStringGenerator.generate("ccc", ["+", "-", "/", "*"])
"+/*"If no custom char list is passed the with character c it will be treated
as a delimiter as in the example below where it generates a string containing
one digit followed by the letter c followed by another digit
iex> RandomStringGenerator.generate("dcd")
"2c1"Shuffling
In order to generate a string based on a given patter Lldd where those
characters are placed in a random order, the shuffle/1 function should
be used.
iex> RandomStringGenerator.generate("Lldd") |> RandomStringGenerator.shuffle()
"s22E"Full documentation at https://hexdocs.pm/random_string_generator.