Regex:
^
Expression
Regex
::= '^'?
Expression
no references
Expression:
Subexpression
|
Expression
::=
Subexpression
( '|'
Subexpression
)*
referenced by:
Group
Regex
Subexpression:
SubexpressionItem
Subexpression
::=
SubexpressionItem
+
referenced by:
Expression
SubexpressionItem:
Match
Group
Anchor
Backreference
SubexpressionItem
::=
Match
|
Group
|
Anchor
|
Backreference
referenced by:
Subexpression
Group:
(
?:
Expression
)
Quantifier
Group
::= '(' '?:'?
Expression
')'
Quantifier
?
referenced by:
SubexpressionItem
Match:
MatchItem
Quantifier
Match
::=
MatchItem
Quantifier
?
referenced by:
SubexpressionItem
MatchItem:
.
MatchCharacterClass
MatchCharacter
MatchItem
::= '.'
|
MatchCharacterClass
|
MatchCharacter
referenced by:
Match
MatchCharacterClass:
CharacterGroup
CharacterClass
CharacterClassFromUnicodeCategory
MatchCharacterClass
::=
CharacterGroup
|
CharacterClass
|
CharacterClassFromUnicodeCategory
referenced by:
MatchItem
MatchCharacter:
Char
MatchCharacter
::=
Char
referenced by:
MatchItem
CharacterGroup:
[
^
CharacterGroupItem
]
CharacterGroup
::= '[' '^'?
CharacterGroupItem
+ ']'
referenced by:
MatchCharacterClass
CharacterGroupItem:
CharacterClass
CharacterClassFromUnicodeCategory
CharacterRange
Char
CharacterGroupItem
::=
CharacterClass
|
CharacterClassFromUnicodeCategory
|
CharacterRange
|
Char
referenced by:
CharacterGroup
CharacterClass:
\w
\W
\d
\D
CharacterClass
::= '\w'
| '\W'
| '\d'
| '\D'
referenced by:
CharacterGroupItem
MatchCharacterClass
CharacterClassFromUnicodeCategory:
\p{
UnicodeCategoryName
}
CharacterClassFromUnicodeCategory
::= '\p{'
UnicodeCategoryName
'}'
referenced by:
CharacterGroupItem
MatchCharacterClass
UnicodeCategoryName:
Letters
UnicodeCategoryName
::=
Letters
referenced by:
CharacterClassFromUnicodeCategory
CharacterRange:
Char
-
Char
CharacterRange
::=
Char
( '-'
Char
)?
referenced by:
CharacterGroupItem
Quantifier:
QuantifierType
?
Quantifier
::=
QuantifierType
'?'?
referenced by:
Group
Match
QuantifierType:
*
+
?
RangeQuantifier
QuantifierType
::= '*'
| '+'
| '?'
|
RangeQuantifier
referenced by:
Quantifier
RangeQuantifier:
{
RangeQuantifierLowerBound
,
RangeQuantifierUpperBound
}
RangeQuantifier
::= '{'
RangeQuantifierLowerBound
( ','
RangeQuantifierUpperBound
? )? '}'
referenced by:
QuantifierType
RangeQuantifierLowerBound:
Integer
RangeQuantifierLowerBound
::=
Integer
referenced by:
RangeQuantifier
RangeQuantifierUpperBound:
Integer
RangeQuantifierUpperBound
::=
Integer
referenced by:
RangeQuantifier
Backreference:
\
Integer
Backreference
::= '\'
Integer
referenced by:
SubexpressionItem
Anchor:
\b
\B
\A
\z
\Z
\G
$
Anchor
::= '\b'
| '\B'
| '\A'
| '\z'
| '\Z'
| '\G'
| '$'
referenced by:
SubexpressionItem
Integer:
[0-9]
Integer
::= [0-9]+
referenced by:
Backreference
RangeQuantifierLowerBound
RangeQuantifierUpperBound
Letters:
[a-z]
[A-Z]
Letters
::= [a-zA-Z]+
referenced by:
UnicodeCategoryName
Char:
[#x0009]
[#x000A]
[#x000D]
[#x0020-#xD7FF]
[#xE000-#xFFFD]
[#x10000-#x10FFFF]
Char
::= [#x0009#x000A#x000D#x0020-#xD7FF#xE000-#xFFFD#x10000-#x10FFFF]
referenced by:
CharacterGroupItem
CharacterRange
MatchCharacter
... generated by
Railroad Diagram Generator
R
R