Packages
regex.cls

regex.cls Overview

- Classes
  - 'Parser'
    - Attributes: matchStart matchEnd matchLength matchText sectionStart sectionEnd sectionLength matchResult
    - Methods: init section sectionWords remainder prefix stringValue find caselessFind findRegex move moveTo replace insertBefore insertAfter validatePosition group groupText
  - 'PatternLibrary'
    - Attributes: compiler compiler
    - Methods: init load loadBundle save removePattern resolvePattern resolveDependentPattern resolveFamily resolveDependentFamily addLibrary addFamily addPattern compile getFamily getPattern
  - AllDotNode
    - Methods: match calculateMatchMetrics
  - AlternativeNode
    - Methods: init match calculateMatchMetrics addAlternative
  - AtomicGroupNode
    - Methods: init match
  - BackReferenceNode
    - Methods: match calculateMatchMetrics
  - BackReferenceTestNode
    - Methods: init match terminate
  - BeginClassBoundaryNode
    - Methods: match
  - BeginTextNode
    - Methods: match
  - CapturingGroupEnvelope
    - Methods: init match getGroupReference setGroupEnd updateAndSaveMatch restorePreviousMatch
  - CaselessClassNode
    - Methods: characterMatch
  - CaselessGroupBackReferenceNode
    - Methods: submatch
  - CaselessNotClassNode
    - Methods: characterMatch
  - CaselessResultBackReferenceNode
    - Methods: submatch
  - CaselessStringNode
    - Methods: isMatch
  - ClassAndNode
    - Methods: match
  - ClassBoundaryNode
    - Methods: init match checkBoundary
  - ClassIntersectionNode
    - Methods: init match calculateMatchMetrics
  - ClassLogicalNode
    - Attributes: leftSide rightSide
    - Methods: init calculateMatchMetrics
  - ClassNode
    - Attributes: characters
    - Methods: init match characterMatch calculateMatchMetrics
  - ClassOrNode
    - Methods: match
  - EndClassBoundaryNode
    - Methods: match
  - EndTextNode
    - Methods: match
  - EveryThingNode
    - Methods: match
  - Formatter
    - Methods: init transform substitute
  - GreedyGroupQuestionNode
    - Methods: match
  - GreedyGroupRepetitionNode
    - Methods: recursiveMatch
  - GreedyQuestionNode
    - Methods: match
  - GreedyRepetitionNode
    - Methods: recursiveMatch
  - GroupBackReferenceNode
    - Methods: init matchText submatch
  - GroupEnvelope
    - Attributes: terminator
    - Methods: init match setGroupEnd updateAndSaveMatch restorePreviousMatch
  - GroupMatchResult
  - GroupNode
    - Methods: init match
  - GroupNodeMixin
    - Methods: setGroupID getGroupReference matchNext wrappedMatchNext
  - GroupQuestionNode
    - Methods: init calculateMatchMetrics
  - GroupReference
    - Attributes: start end participated context namedGroups
    - Methods: init addGroup group matched setPatternMatch setMatch clearMatch matchText saveMatch restoreMatch matchResult
  - GroupRepetitionNode
    - Attributes: repNode min max
    - Methods: init match calculateMatchMetrics
  - GroupTerminator
    - Methods: init match
  - GroupTransformer
    - Methods: transform
  - IfThenElseNode
    - Methods: init match calculateMatchMetrics
  - IfThenNode
    - Methods: init match calculateMatchMetrics
  - InternetDotNode
    - Methods: match
  - InternetLineEndNode
    - Methods: match
  - InternetMultilineCaretNode
    - Methods: match
  - InternetMultiLineEndNode
    - Methods: match
  - LastMatchNode
    - Methods: match
  - LibraryPattern
    - Methods: init pattern addToBundle
  - LowerTransformer
    - Methods: transform
  - MatchContext
    - Attributes: matchText groups startPosition endPosition matchPosition matchEnd matchEndRequired
    - Methods: init prepareMatch createSubContext createNestedPatternContext getGroupReference enterGroup exitGroup setGroupResult setLocal getLocal removeLocal matches startsWith find match performMatch result atStart checkStart checkEnd setRange setMatchPosition getBackReferenceGroup resolveBackReferencePath matchOffset
  - MatchMetrics
    - Attributes: minLength maxLength validMaximum deterministic
    - Methods: init addLength addMin addMax addMetrics mergeMetrics
  - MatchNode
    - Attributes: next
    - Methods: init matchNext calculateMatchMetrics calculateChildMatchMetrics terminate
  - MatchResult
    - Attributes: start end textLength length text prefix suffix
    - Methods: init matched nextMatch resolveGroupInfo group []
  - MatchText
    - Attributes: regionText regionStart regionEnd textLength
    - Methods: init text prefix suffix
  - NamedGroupNode
    - Methods: init match
  - NegativeLookaheadNode
    - Methods: init match
  - NegativeLookBehindNode
    - Methods: backMatch
  - NotClassBoundaryNode
    - Methods: match
  - NotClassNode
    - Methods: characterMatch
  - Pattern
    - Attributes: pattern groups root groupCount
    - Methods: compile init string matches match startsWith find split replace matchMetrics
  - PatternNode
    - Methods: init match calculateMatchMetrics
  - PositiveLookaheadNode
    - Methods: init match
  - PositiveLookBehindNode
    - Attributes: group
    - Methods: init match backMatch
  - PossessiveGroupQuestionNode
    - Methods: match
  - PossessiveGroupRepetitionNode
    - Methods: recursiveMatch
  - PossessiveQuestionNode
    - Methods: match
  - PossessiveRepetitionNode
    - Methods: recursiveMatch
  - QuestionNode
    - Attributes: optional
    - Methods: init calculateMatchMetrics
  - RegexCompiler
    - Attributes: unixLinesMode caselessMode multiLineMode dotAllMode defaultPatternLibrary
    - Methods: activate initializePatternLibrary init compile getFamily getPattern addLibrary newPatternCompiler finishSetup
  - RegexOptionsValidator
    - Methods: validateOptions
  - RegexParser
    - Attributes: current unixLinesMode caselessMode multiLineMode dotAllMode
    - Methods: init parse getFamily getPattern extract next peek stepAndPeek peekOffset singleChar previous isMetaCharacter isClassMetaCharacter isClosureCharacter isDigit extractDelimited parseNumber parseExpression parseSequence parseStartAnchor parseEndAnchor parseDot parseEscapes newGroup getGroupReference createGroupReference haveGroup parseGroup parseConditional getPatternMetrics parseFlag saveFlags restoreFlags parseGroupClosure parseClosure parseClass parseClassSection parseClassRange parseNamedClassFamily createNamedClassFamily parseAtom stringNode classNode parseEscapedCharacters parseEscapedOperations parseNamedGroup parseGroupName parseSubgroupName parseEscapedClasses parseLiteral readOctal readHex
  - ReluctantGroupQuestionNode
    - Methods: match
  - ReluctantGroupRepetitionNode
    - Methods: recursiveMatch
  - ReluctantQuestionNode
    - Methods: match
  - ReluctantRepetitionNode
    - Methods: recursiveMatch
  - RepetitionNode
    - Attributes: repNode min max
    - Methods: init match calculateMatchMetrics
  - ResultBackReferenceNode
    - Methods: init matchText submatch
  - ResultBackReferenceTestNode
    - Methods: init match terminate
  - SearchNode
    - Methods: init match calculateMatchMetrics
  - StringNode
    - Attributes: matchString
    - Methods: init isMatch match calculateMatchMetrics
  - TerminatorNode
    - Methods: match terminate
  - TextEndNode
    - Methods: match
  - TransformingFormatter
    - Attributes: defaultTransform
    - Methods: init transform addTransform
  - UnixDotNode
    - Methods: match
  - UnixLineEndNode
    - Methods: match
  - UnixMultilineCaretNode
    - Methods: match
  - UnixMultiLineEndNode
    - Methods: match
  - UpperTransformer
    - Methods: transform

# regex.cls

#### Class: 'Parser'

#### Attributes

- matchStart GETTER

- matchEnd GETTER

- matchLength GETTER

- matchText GETTER

- sectionStart GETTER

- sectionEnd GETTER

- sectionLength GETTER

- matchResult GETTER

#### Methods

- init
  USE ARG string, compiler = (.RegexCompiler~new)

- section

- sectionWords

- remainder

- prefix

- stringValue

- find
  USE ARG needle

- caselessFind
  USE ARG needle

- findRegex
  USE ARG needle

- move
  USE ARG delta

- moveTo
  USE ARG newMatch

- replace
  USE ARG replacement

- insertBefore
  USE ARG insertion

- insertAfter
  USE ARG insertion

- validatePosition
  USE ARG newMatch

- group

- groupText

#### Constants

No Constants

#### Class: 'PatternLibrary'

#### Attributes

- compiler SETTER
  USE ARG compiler

- compiler GETTER
  USE ARG

#### Methods

- init

- load
  USE ARG source

- loadBundle
  USE ARG bundle

- save
  USE ARG target

- removePattern
  USE ARG name

- resolvePattern
  USE ARG name

- resolveDependentPattern
  USE ARG name, context

- resolveFamily
  USE ARG name

- resolveDependentFamily
  USE ARG name, context

- addLibrary
  USE ARG library

- addFamily
  USE ARG name, characters

- addPattern
  USE ARG name, pattern

- compile
  USE ARG pattern

- getFamily
  USE ARG name

- getPattern
  USE ARG name

#### Constants

No Constants

#### Class: AllDotNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: AlternativeNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

- addAlternative
  USE ARG newChoice

#### Constants

No Constants

#### Class: AtomicGroupNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG group

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: BackReferenceNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: BackReferenceTestNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG ref

- match
  USE ARG context, position, target

- terminate

#### Constants

No Constants

#### Class: BeginClassBoundaryNode

Sub-Class: ClassBoundaryNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: BeginTextNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: CapturingGroupEnvelope

Sub-Class: GroupEnvelope

#### Attributes

No Attributes

#### Methods

- init
  USE ARG id

- match
  USE ARG context, position, target

- getGroupReference
  USE ARG context

- setGroupEnd
  USE ARG context, target, end

- updateAndSaveMatch
  USE ARG context, target, end

- restorePreviousMatch
  USE ARG context, save

#### Constants

No Constants

#### Class: CaselessClassNode

Sub-Class: ClassNode

#### Attributes

No Attributes

#### Methods

- characterMatch
  USE ARG position, target, characters

#### Constants

No Constants

#### Class: CaselessGroupBackReferenceNode

Sub-Class: GroupBackReferenceNode

#### Attributes

No Attributes

#### Methods

- submatch
  USE ARG context, position, target, matchValue

#### Constants

No Constants

#### Class: CaselessNotClassNode

Sub-Class: ClassNode

#### Attributes

No Attributes

#### Methods

- characterMatch
  USE ARG position, target, characters

#### Constants

No Constants

#### Class: CaselessResultBackReferenceNode

Sub-Class: ResultBackReferenceNode

#### Attributes

No Attributes

#### Methods

- submatch
  USE ARG context, position, target, matchValue

#### Constants

No Constants

#### Class: CaselessStringNode

Sub-Class: StringNode

#### Attributes

No Attributes

#### Methods

- isMatch
  USE ARG target, position, matchString

#### Constants

No Constants

#### Class: ClassAndNode

Sub-Class: ClassLogicalNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: ClassBoundaryNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG boundaryClass

- match
  USE ARG context, position, target

- checkBoundary
  USE ARG context, position, target

#### Constants

No Constants

#### Class: ClassIntersectionNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG subExpressions

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: ClassLogicalNode

Sub-Class: MatchNode

#### Attributes

- leftSide GETTER SETTER

- rightSide GETTER SETTER

#### Methods

- init
  USE ARG leftSide, rightSide

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: ClassNode

Sub-Class: MatchNode

#### Attributes

- characters GETTER

#### Methods

- init
  USE ARG characters

- match
  USE ARG context, position, target

- characterMatch
  USE ARG position, target, characters

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: ClassOrNode

Sub-Class: ClassLogicalNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: EndClassBoundaryNode

Sub-Class: ClassBoundaryNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: EndTextNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: EveryThingNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: Formatter

#### Attributes

No Attributes

#### Methods

- init
  USE ARG template

- transform
  USE ARG name, value

- substitute
  USE ARG matchResult

#### Constants

No Constants

#### Class: GreedyGroupQuestionNode

Sub-Class: GroupQuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: GreedyGroupRepetitionNode

Sub-Class: GroupRepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, info, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: GreedyQuestionNode

Sub-Class: QuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: GreedyRepetitionNode

Sub-Class: RepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: GroupBackReferenceNode

Sub-Class: BackReferenceNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG ref

- matchText
  USE ARG context

- submatch
  USE ARG context, position, target, matchValue

#### Constants

No Constants

#### Class: GroupEnvelope

Sub-Class: MatchNode

#### Attributes

- terminator GETTER

#### Methods

- init

- match
  USE ARG context, position, target

- setGroupEnd

- updateAndSaveMatch

- restorePreviousMatch

#### Constants

No Constants

#### Class: GroupMatchResult

Sub-Class: MatchResult

#### Attributes

No Attributes

#### Methods

No Methods

#### Constants

No Constants

#### Class: GroupNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG id, groupMatch

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: GroupNodeMixin

Mixin-Classes: MatchNode

#### Attributes

No Attributes

#### Methods

- setGroupID
  USE ARG id

- getGroupReference
  USE ARG context

- matchNext
  USE ARG context, position, target

- wrappedMatchNext
  USE ARG context, position, target

#### Constants

No Constants

#### Class: GroupQuestionNode

Sub-Class: QuestionNode Inherit-Classes: GroupNodeMixin

#### Attributes

No Attributes

#### Methods

- init
  USE ARG id, optional

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: GroupReference

#### Attributes

- start GETTER SETTER

- end GETTER SETTER

- participated GETTER SETTER

- context GETTER SETTER

- namedGroups GETTER SETTER

#### Methods

- init
  USE ARG id

- addGroup
  USE ARG name, group

- group
  USE ARG name

- matched

- setPatternMatch
  USE ARG context, result, namedGroups

- setMatch
  USE ARG context, start, end

- clearMatch

- matchText

- saveMatch

- restoreMatch
  USE ARG r

- matchResult

#### Constants

No Constants

#### Class: GroupRepetitionNode

Sub-Class: MatchNode Inherit-Classes: GroupNodeMixin

#### Attributes

- repNode GETTER

- min GETTER

- max GETTER

#### Methods

- init
  USE ARG id, repNode, min, max

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: GroupTerminator

Sub-Class: TerminatorNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG group

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: GroupTransformer

#### Attributes

No Attributes

#### Methods

- transform ABSTRACT

#### Constants

No Constants

#### Class: IfThenElseNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG condition, thenNode, elseNode

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: IfThenNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG condition, thenNode

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: InternetDotNode

Sub-Class: AllDotNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: InternetLineEndNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: InternetMultilineCaretNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: InternetMultiLineEndNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: LastMatchNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: LibraryPattern

#### Attributes

No Attributes

#### Methods

- init
  USE ARG library, name, patternString

- pattern

- addToBundle
  USE ARG bundle

#### Constants

No Constants

#### Class: LowerTransformer

Sub-Class: GroupTransformer

#### Attributes

No Attributes

#### Methods

- transform
  USE ARG name, value

#### Constants

No Constants

#### Class: MatchContext

#### Attributes

- matchText GETTER

- groups GETTER

- startPosition GETTER SETTER

- endPosition GETTER SETTER

- matchPosition GETTER SETTER

- matchEnd GETTER SETTER

- matchEndRequired GETTER SETTER

#### Methods

- init
  USE ARG text, startPosition = 1, length = (text~length)

- prepareMatch
  USE ARG pattern

- createSubContext
  USE ARG start, end

- createNestedPatternContext
  USE ARG pattern

- getGroupReference
  USE ARG id

- enterGroup
  USE ARG group

- exitGroup

- setGroupResult
  USE ARG name, result, groups

- setLocal
  USE ARG index, value

- getLocal
  USE ARG index

- removeLocal
  USE ARG index

- matches
  USE ARG pattern

- startsWith
  USE ARG pattern, start = (startPosition)

- find
  USE ARG pattern, start = (startPosition), end = (test~length)

- match
  USE ARG pattern, start = (startPosition)

- performMatch
  USE ARG start, pattern

- result

- atStart
  USE ARG test

- checkStart
  USE ARG test

- checkEnd
  USE ARG test

- setRange
  USE ARG startPosition, endPosition

- setMatchPosition
  USE ARG matchPosition, matchEnd

- getBackReferenceGroup
  USE ARG id

- resolveBackReferencePath
  USE ARG path

- matchOffset
  USE ARG position

#### Constants

No Constants

#### Class: MatchMetrics

#### Attributes

- minLength GETTER SETTER

- maxLength GETTER SETTER

- validMaximum GETTER SETTER

- deterministic GETTER SETTER

#### Methods

- init

- addLength
  USE ARG length

- addMin
  USE ARG length

- addMax
  USE ARG length

- addMetrics
  USE ARG other

- mergeMetrics
  USE ARG other

#### Constants

No Constants

#### Class: MatchNode

#### Attributes

- next GETTER SETTER

#### Methods

- init

- matchNext
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

- calculateChildMatchMetrics
  USE ARG child

- terminate

#### Constants

No Constants

#### Class: MatchResult

#### Attributes

- start GETTER

- end GETTER

- textLength GETTER

- length GETTER

- text GETTER

- prefix GETTER

- suffix GETTER

#### Methods

- init
  USE ARG matchText, start, end, groups

- matched

- nextMatch

- resolveGroupInfo
  USE ARG path

- group
  USE ARG path

- []
  USE ARG id = "0"

#### Constants

No Constants

#### Class: MatchText

#### Attributes

- regionText GETTER SETTER

- regionStart GETTER SETTER

- regionEnd GETTER SETTER

- textLength GETTER

#### Methods

- init
  USE ARG regionText, regionStart = 1, regionEnd = (regionText~length + 1)

- text
  USE ARG start = (regionStart), length = (self~textLength)

- prefix
  USE ARG start

- suffix
  USE ARG end

#### Constants

No Constants

#### Class: NamedGroupNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG id, groupMatch

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: NegativeLookaheadNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG group

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: NegativeLookBehindNode

Sub-Class: PositiveLookBehindNode

#### Attributes

No Attributes

#### Methods

- backMatch
  USE ARG context, position, target, subContext, backPosition

#### Constants

No Constants

#### Class: NotClassBoundaryNode

Sub-Class: ClassBoundaryNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: NotClassNode

Sub-Class: ClassNode

#### Attributes

No Attributes

#### Methods

- characterMatch
  USE ARG position, target, characters

#### Constants

No Constants

#### Class: Pattern

#### Attributes

- pattern GETTER

- groups GETTER

- root GETTER

- groupCount GETTER

#### Methods

- compile CLASS
  USE ARG pattern, compiler = (.RegexCompiler~new)

- init
  USE ARG pattern, root, groups

- string

- matches
  USE ARG text, start = 1, length = (text~length)

- match
  USE ARG text, start = 1

- startsWith
  USE ARG text, start = 1

- find
  USE ARG text, start = 1, length = (text~length)

- split
  USE ARG text, limit = (-1)

- replace
  USE ARG text, replacement, count = 999999999

- matchMetrics

#### Constants

No Constants

#### Class: PatternNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG groupName, patternName, pattern

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: PositiveLookaheadNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG group

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: PositiveLookBehindNode

Sub-Class: MatchNode

#### Attributes

- group GETTER SETTER

#### Methods

- init
  USE ARG group, metrics

- match
  USE ARG context, position, target

- backMatch
  USE ARG context, position, target, subContext, backPosition

#### Constants

No Constants

#### Class: PossessiveGroupQuestionNode

Sub-Class: GroupQuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: PossessiveGroupRepetitionNode

Sub-Class: GroupRepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, info, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: PossessiveQuestionNode

Sub-Class: QuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: PossessiveRepetitionNode

Sub-Class: RepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: QuestionNode

Sub-Class: MatchNode

#### Attributes

- optional GETTER

#### Methods

- init
  USE ARG optional

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: RegexCompiler

#### Attributes

- unixLinesMode GETTER SETTER

- caselessMode GETTER SETTER

- multiLineMode GETTER SETTER

- dotAllMode GETTER SETTER

- defaultPatternLibrary GETTER CLASS

#### Methods

- activate CLASS

- initializePatternLibrary CLASS

- init
  USE ARG options = .nil

- compile
  USE ARG pattern, options = "", compileLibrary = .nil

- getFamily
  USE ARG name

- getPattern
  USE ARG name

- addLibrary
  USE ARG library

- newPatternCompiler
  USE ARG patternLibrary

- finishSetup
  USE ARG patternContext

#### Constants

- METACHARACTERS Value: "([{\^$|]})?*+."

- CLASSMETACHARACTERS Value: "[]"

- CLOSURECHARACTERS Value: "*+?{"

- WORDCHARACTERS Value: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'

- DIGITCHARACTERS Value: '0123456789'

- LOWERCASECHARACTERS Value: "abcdefghijklmnopqrstuvwxyz"

- UPPERCASECHARACTERS Value: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

- WHITESPACECHARACTERS Value: '20090a0b0c0d'x

- CRLF Value: '0d0a'x

- multiline Value: "MULTILINE"

- singleline Value: "SINGLELINE"

- internetlines Value: "INTERNETLINES"

- unixlines Value: "UNIXLINES"

- caseless Value: "CASELESS"

- respectcase Value: "RESPECTCASE"

- dotall Value: "DOTALL"

- dotrestricted Value: "DOTRESTRICTED"

#### Class: RegexOptionsValidator

#### Attributes

No Attributes

#### Methods

- validateOptions CLASS
  USE ARG target, options

#### Constants

- validOptions1 Value: "MULTILINE SINGLELINE INTERNETLINES UNIXLINES"

- validOptions2 Value: "CASELESS RESPECTCASE DOTALL DOTRESTRICTED"

#### Class: RegexParser

#### Attributes

- current GETTER

- unixLinesMode GETTER SETTER

- caselessMode GETTER SETTER

- multiLineMode GETTER SETTER

- dotAllMode GETTER SETTER

#### Methods

- init
  USE ARG compiler, pattern, options = .nil, compileLibrary = .nil

- parse

- getFamily
  USE ARG name

- getPattern
  USE ARG name

- extract
  USE ARG start, end

- next

- peek

- stepAndPeek

- peekOffset
  USE ARG offset

- singleChar

- previous

- isMetaCharacter
  USE ARG ch

- isClassMetaCharacter
  USE ARG ch

- isClosureCharacter
  USE ARG ch

- isDigit
  USE ARG ch

- extractDelimited
  USE ARG start, end

- parseNumber

- parseExpression
  USE ARG terminator

- parseSequence
  USE ARG terminator

- parseStartAnchor

- parseEndAnchor

- parseDot

- parseEscapes

- newGroup

- getGroupReference
  USE ARG id

- createGroupReference
  USE ARG id

- haveGroup
  USE ARG id

- parseGroup

- parseConditional

- getPatternMetrics
  USE ARG head

- parseFlag

- saveFlags

- restoreFlags
  USE ARG flags

- parseGroupClosure
  USE ARG groupInfo

- parseClosure
  USE ARG target

- parseClass

- parseClassSection

- parseClassRange
  USE ARG negated

- parseNamedClassFamily
  USE ARG negated

- createNamedClassFamily
  USE ARG familyName, negated

- parseAtom

- stringNode
  USE ARG string

- classNode
  USE ARG characters, negated

- parseEscapedCharacters

- parseEscapedOperations

- parseNamedGroup

- parseGroupName

- parseSubgroupName
  USE ARG path

- parseEscapedClasses

- parseLiteral

- readOctal

- readHex

#### Constants

No Constants

#### Class: ReluctantGroupQuestionNode

Sub-Class: QuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: ReluctantGroupRepetitionNode

Sub-Class: GroupRepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, info, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: ReluctantQuestionNode

Sub-Class: QuestionNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: ReluctantRepetitionNode

Sub-Class: RepetitionNode

#### Attributes

No Attributes

#### Methods

- recursiveMatch
  USE ARG context, position, target, repNode, matches, max

#### Constants

No Constants

#### Class: RepetitionNode

Sub-Class: MatchNode

#### Attributes

- repNode GETTER

- min GETTER

- max GETTER

#### Methods

- init
  USE ARG repNode, min, max

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: ResultBackReferenceNode

Sub-Class: BackReferenceNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG resultPath

- matchText
  USE ARG context

- submatch
  USE ARG context, position, target, matchValue

#### Constants

No Constants

#### Class: ResultBackReferenceTestNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG resultPath

- match
  USE ARG context, position, target

- terminate

#### Constants

No Constants

#### Class: SearchNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- init
  USE ARG pattern

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: StringNode

Sub-Class: MatchNode

#### Attributes

- matchString GETTER SETTER

#### Methods

- init
  USE ARG matchString

- isMatch
  USE ARG target, position, matchString

- match
  USE ARG context, position, target

- calculateMatchMetrics
  USE ARG metrics

#### Constants

No Constants

#### Class: TerminatorNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

- terminate

#### Constants

No Constants

#### Class: TextEndNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: TransformingFormatter

Sub-Class: Formatter

#### Attributes

- defaultTransform SETTER

#### Methods

- init

- transform
  USE ARG name, value

- addTransform
  USE ARG name, transform

#### Constants

No Constants

#### Class: UnixDotNode

Sub-Class: AllDotNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: UnixLineEndNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: UnixMultilineCaretNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: UnixMultiLineEndNode

Sub-Class: MatchNode

#### Attributes

No Attributes

#### Methods

- match
  USE ARG context, position, target

#### Constants

No Constants

#### Class: UpperTransformer

Sub-Class: GroupTransformer

#### Attributes

No Attributes

#### Methods

- transform
  USE ARG name, value

#### Constants

No Constants