Download the PHP package gajus/paggern without Composer
On this page you can find all versions of the php package gajus/paggern. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gajus/paggern
More information about gajus/paggern
Files in gajus/paggern
Informations about the package paggern
Paggern
Pattern interpreter for generating random strings.
Generator
The above example will generate an array containing 100 codes, each prefixed with "FOO", followed by 10 characters from "ABCDEFGHKMNOPRSTUVWXYZ23456789" haystack and 2 numbers from "0123456789" haystack.
Paggern utilises RandomLib to generate the pattern matching random character pool.
Lexer
Lexer exposes a method to tokenise the string. Lexer
is independant of the Generator
. You can choose to interpret Lexer
tokens using your own implementation of the Generator
.
Supported Tokens
Literal
Pattern can consist of literal characters, e.g. prefix of suffix of the code.
The above pattern commands that the string is literally "abc".
Range
Range can be either numeric or ASCII.
In the [a-z]
example, string must be a character from "abcdefghijklmnopqrstuvwxyz" haystack.
Range with Repetition
If the character must occur more than once, use repetition.
In the [a-z]{3}
example, string must consist of 3 characters from the "abc" haystack.
Character Classes
Predefined character classes can be used instead of ranges.
Character Class | Range |
---|---|
\U |
"ABCDEFGHKMNOPRSTUVWXYZ23456789" (or A-Z0-9 excluding IJLQ01) describes characters that are unambiguously recognised regardless of the font or case-sensitivity. The designated use case is voucher codes. |
Character Classes with Repetition
Similar to the Range with Repetition, Character Classes can be used with repetition, e.g.
Limitations
- Pattern cannot include
[]{}
characters. - Pattern cannot include characters outside of the ASCII.