:name or {name} |
Captures anything but a forward slash in a semi-greedy fashion. Capture is named name.
Capture behavior can be modified with capture and greedy option.
|
*name or {+name} |
Captures anything in a non-greedy fashion. Capture is named name.
|
* or {+splat} |
Captures anything in a non-greedy fashion. Capture is named splat.
It is always an array of captures, as you can use it more than once in a pattern.
|
(expression) |
Enclosed expression is a group. Useful when combined with ? to make it optional,
or to separate two elements that would otherwise be parsed as one.
|
expression|expression|... |
Will match anything matching the nested expressions. May contain any other syntax element, including captures.
|
x? |
Makes x optional. For instance, (foo)? matches foo or an empty string. |
/ |
Matches forward slash. Does not match URI encoded version of forward slash.
|
\x |
Matches x or URI encoded version of x. For instance \* matches *. |
any other character |
Matches exactly that character or a URI encoded version of it. |