Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
Branches and Pieces
The top-level syntax of a regular expression (regex) is described by the following rules:
Construct | Syntax |
regex | branch ( | branch )* |
branch | piece* |
piece | atom quantifier? |
A regular expression consists of one or more
branches
, separated by
|
characters. For example,
abc|def
matches either of the strings
abc
or
def
. A regex matches a string if any of the branches matches the string. If more than one branch leads to a match, then the one that is chosen is the first one that matches (starting from the left).
A
branch
consists of one or more
pieces
, concatenated together. A branch consisting of two pieces A and B matches a string if the string can be split into two substrings, with the first substring matching A and the second matching B. For example,
def
is the concatenation of three pieces,
d
,
e
, and
f
, and it matches a string consisting of a
d
followed by an
e
followed by an
f
. The regex
[a-z][0-9]