Options
Regex Builder options
This library is abandoned. Please consider using a different library.
All options presented on this page are available as constants on Opis\Pattern\RegexBuilder
class.
Separators
SEPARATOR_SYMBOL
Indicates the character used for delimiting segments.
Default value: / (slash)
| Symbol | Pattern | Segments |
|---|---|---|
/ |
a/b/c |
a, b and c |
. |
a.b.c |
a, b and c |
; |
a;b;c |
a, b and c |
CAPTURE_MODE
Default value: CAPTURE_LEFT | ALLOW_OPT_TRAIL
The value of this option must be a bitmask consisting of the following options:
CAPTURE_LEFT
If present, this affects segments that contain only one optional placeholder. If that segment has a separator on the left side, then the separator becomes optional.
For {a}/{b?} pattern, the regex looks like ^{a}(/{b})?$,
where {a} and {b} are regex patterns, and / is
separator symbol.
CAPTURE_RIGHT
If present, this affects segments that contain only one optional placeholder. If that segment has a separator on the right side, then the separator becomes optional.
For {a?}/{b} pattern, the regex looks like ^({a}/)?{b}$,
where {a} and {b} are regex patterns, and / is
separator.
ALLOW_OPT_TRAIL
If present, this option will allow a trailing separator symbol in the value.
For {a} pattern, the regex looks like ^{a}/?$,
where {a} is a regex pattern, and / is
separator.
Examples
| Pattern | Path | Matches if trailing / no trailing |
|---|---|---|
a/b/c |
a/b/c |
Yes / Yes |
a/b/c |
a/b/c/ |
Yes / No |
a/b/c/ |
a/b/c |
Yes / No |
a/b/c/ |
a/b/c/ |
Yes / Yes |
Placeholders
START_SYMBOL
This symbol indicates where a placeholder starts.
Default value: { (open brace)
END_SYMBOL
This symbol indicates where a placeholder ends.
Default value: } (close brace)
OPT_SYMBOL
This symbol used to mark a placeholder as optional.
Default value: ? (question mark)
ASSIGN_SYMBOL
This symbol is used to mark the begining of the inline regex for placeholder.
Default value: = (equal)
DEFAULT_REGEX_EXP
The value of this option is used when a placeholder doesn’t have a defined regex.
Default value: [^{separator}]+ where {separator}
is replaced with the value of the separator symbol.
Options for regex
REGEX_DELIMITER
Default value: ~ (tilde)
The data component is escaped using this value.
More info about regex delimiters can be found here.
REGEX_MODIFIER
Default value: u (PCRE_UTF8 - enables utf-8 support)
More info about regex modifiers can be found here.