The library documents itself · Pattern matching
stzRegexMaker
68 own methods · 12 forms written with extensions, listed under their method
the source: base/regex/stzRegexMaker.ring(opens in a new tab) · All classes · The area reference: Pattern matching
Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
Examples: 5 come from the library's tests; 12 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzRegexMaker() o1.AddWordBoundary(:start) o1.AddCapturingGroup("digits", "\d+") o1.AddWordBoundary(:end). 51 methods have none yet. Examples run on 2026-10-04 07:31 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
AddRange
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddRange(:Digits, "a-f", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[a-f]composed from the signature, run for this pageAddAmongChars
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddAmongChars("abc", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[abc]composed from the signature, run for this pageAddAmongDigits
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddAmongDigits("123", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[123]composed from the signature, run for this pageAddNotAmongChars
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddNotAmongChars("abc", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[^abc]composed from the signature, run for this pageAddNotAmongDigits
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddNotAmongDigits("123", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[^123]composed from the signature, run for this pageAddCharsRange
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddCharsRange("a-f", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[a-f]composed from the signature, run for this pageAddDigitsRange
adding sequencesno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddDigitsRange("123", :OneOrMore, 2, 5)
? o1.Pattern()
#--> \b(?P<digits>\d+)\b[123]composed from the signature, run for this pagegetting the string pattern ant its fragments 2 examples run
o1 = new stzRegexMaker
o1.SetCase(:insensitive)
o1.AddCapturingGroup("quote", '[""].*?[""]')
o1.AddComment("Matches smart quotes and content")
? o1.Pattern()
#--> (?i)(?P<quote>[""].*?[""])(?#Matches smart quotes and content)library testno extensionFragments
(no comment in the source: the name reads as a sentence) fragmentsalso written: Fragsin the section getting the fragments of the pattern stringQCSXTZZZIBWU
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
? @@( o1.Fragments() )
#--> [ "\b", "(?P<", "digits", ">", "\d+", ")", "\b" ]composed from the signature, run for this pageNumberOfFragements
(no comment in the source: the name reads as a sentence) number of fragementsin the section getting the fragments of the pattern stringno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
? o1.NumberOfFragements()
#--> 7composed from the signature, run for this pageHowManyFragments
(no comment in the source: the name reads as a sentence) how many fragmentsin the section getting the fragments of the pattern stringno extension
CountFragments
(no comment in the source: the name reads as a sentence) count fragmentsin the section getting the fragments of the pattern stringno extension
NumberOfFrags
(no comment in the source: the name reads as a sentence) number of fragsin the section getting the fragments of the pattern stringno extension
HowManyFrags
(no comment in the source: the name reads as a sentence) how many fragsin the section getting the fragments of the pattern stringno extension
CountFrags
(no comment in the source: the name reads as a sentence) count fragsin the section getting the fragments of the pattern stringno extension
Fragment
(no comment in the source: the name reads as a sentence) fragmentalso written: Fragin the section getting the fragments of the pattern stringQCSXTZZZIBWU
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
? o1.Fragment(1)
#--> \bcomposed from the signature, run for this pageFragmentAndSequence
(no comment in the source: the name reads as a sentence) fragment and sequencein the section getting the fragments of the pattern stringno extension
FragAndSeq
(no comment in the source: the name reads as a sentence) frag and seqin the section getting the fragments of the pattern stringno extension
FragmentAndItsSequence
(no comment in the source: the name reads as a sentence) fragment and its sequencein the section getting the fragments of the pattern stringno extension
FragAndItsSeq
(no comment in the source: the name reads as a sentence) frag and its seqin the section getting the fragments of the pattern stringno extension
FragSeq
(no comment in the source: the name reads as a sentence) frag seqin the section getting the fragments of the pattern stringno extension
Quantifiers
getting the quantifiersQCSXTZZZIBWU
QuantifiersCommands
getting the quantifiersno extension
Sequences
(no comment in the source: the name reads as a sentence) sequencesalso written: Seqs · Commandsin the section getting the sequences (fragments in computable data form)QCSXTZZZIBWU
NumberOfSequences
(no comment in the source: the name reads as a sentence) number of sequencesalso written: CountSeqs · HowManySeqs · NumberOfSeqs · CountCommands · CountSequences · HowManyCommands · HowManySequences · NumberOfCommandsin the section getting the sequences (fragments in computable data form)no extension
Sequence
(no comment in the source: the name reads as a sentence) sequencealso written: Seq · Commandin the section getting the sequences (fragments in computable data form)QCSXTZZZIBWU
SequenceAndFragment
(no comment in the source: the name reads as a sentence) sequence and fragmentin the section getting the sequences (fragments in computable data form)no extension
SeqAndFrag
(no comment in the source: the name reads as a sentence) seq and fragin the section getting the sequences (fragments in computable data form)no extension
SequenceAndItsFragment
(no comment in the source: the name reads as a sentence) sequence and its fragmentin the section getting the sequences (fragments in computable data form)no extension
SeqAndItsFrag
(no comment in the source: the name reads as a sentence) seq and its fragin the section getting the sequences (fragments in computable data form)no extension
SeqFrag
(no comment in the source: the name reads as a sentence) seq fragin the section getting the sequences (fragments in computable data form)no extension
CommandAndFragment
(no comment in the source: the name reads as a sentence) command and fragmentin the section getting the sequences (fragments in computable data form)no extension
CommandAndFrag
(no comment in the source: the name reads as a sentence) command and fragin the section getting the sequences (fragments in computable data form)no extension
CommandAndItsFragment
(no comment in the source: the name reads as a sentence) command and its fragmentin the section getting the sequences (fragments in computable data form)no extension
CommandAndItsFrag
(no comment in the source: the name reads as a sentence) command and its fragin the section getting the sequences (fragments in computable data form)no extension
RepeatSequence
(no comment in the source: the name reads as a sentence) repeat sequencein the section getting the sequences (fragments in computable data form)no extension
RepeatCommand
(no comment in the source: the name reads as a sentence) repeat commandin the section getting the sequences (fragments in computable data form)no extension
CanContainAChar
(no comment in the source: the name reads as a sentence) can contain a charin the section desiging the pattern in a declarative styleno extension
CanContaingChar
(no comment in the source: the name reads as a sentence) can containg charin the section desiging the pattern in a declarative styleno extension
CanContainACharBetween
(no comment in the source: the name reads as a sentence) can contain a char betweenalso written: CanContainCharBetweenin the section desiging the pattern in a declarative styleno extension
CanContainACharAmong
(no comment in the source: the name reads as a sentence) can contain a char amongalso written: CanContainCharAmongin the section desiging the pattern in a declarative styleno extension
CanContainADigit
(no comment in the source: the name reads as a sentence) can contain a digitin the section desiging the pattern in a declarative styleno extension
CanContaingdigit
(no comment in the source: the name reads as a sentence) can containgdigitin the section desiging the pattern in a declarative styleno extension
CanContainADigitBetween
(no comment in the source: the name reads as a sentence) can contain a digit betweenalso written: CanContainDigitBetweenin the section desiging the pattern in a declarative styleno extension
CanContainADigitAmong
(no comment in the source: the name reads as a sentence) can contain a digit amongalso written: CanContainDigitAmongin the section desiging the pattern in a declarative styleno extension
AddLiteral
adding a litteral stringno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddLiteral("a")
? o1.Pattern()
#--> \b(?P<digits>\d+)\bacomposed from the signature, run for this pageAddCharacterClass
character class helperno extension
AddCharClass
character class helperno extension
AddClass
character class helperno extension
AddCommonPattern
common pattern helperno extension
AddBackReference
backreference helperno extension
composed example
o1 = new stzRegexMaker()
o1.AddWordBoundary(:start)
o1.AddCapturingGroup("digits", "\d+")
o1.AddWordBoundary(:end)
o1.AddBackReference("a")
? o1.Pattern()
#--> \b(?P<digits>\d+)\b(?P=a)composed from the signature, run for this pageAddUnicodeCategory
unicode category helperno extension
AddWordBoundary
word boundary helperno extension
capturing group helper 1 examples run
o1 = new stzRegexMaker
o1.SetCase(:insensitive)
o1.AddCapturingGroup("quote", '[""].*?[""]')
o1.AddComment("Matches smart quotes and content")
? o1.Pattern()
#--> (?i)(?P<quote>[""].*?[""])(?#Matches smart quotes and content)library testno extensionmatch length behavior helper 1 examples run
o1 = new stzRegexMaker
o1.AddMatchLength("\w+", :shortest) # Split "item1,item2" into separate matches
o1.AddMatchLength(".+", :longest) # Capture "key=value" as single entry
o1.AddMatchLength("\d+", :complete) # Match complete number without backtracking
? o1.Pattern()
#--> \w++?.++\d+++library testno extensionAddVariableLength
variable length helperno extension
comment helper 1 examples run
o1 = new stzRegexMaker
o1.SetCase(:insensitive)
o1.AddCapturingGroup("quote", '[""].*?[""]')
o1.AddComment("Matches smart quotes and content")
? o1.Pattern()
#--> (?i)(?P<quote>[""].*?[""])(?#Matches smart quotes and content)library testno extensioncase sensitivity helper 1 examples run
o1 = new stzRegexMaker
o1.SetCase(:insensitive)
o1.AddCapturingGroup("quote", '[""].*?[""]')
o1.AddComment("Matches smart quotes and content")
? o1.Pattern()
#--> (?i)(?P<quote>[""].*?[""])(?#Matches smart quotes and content)library testQCSXTZZZIBWUComposePatterns
pattern compositionno extension
DefineGroup
(no comment in the source: the name reads as a sentence) define groupin the section group reference systemno extension
ReuseGroupPattern
(no comment in the source: the name reads as a sentence) reuse group patternin the section group reference systemno extension
ReuseGroup
(no comment in the source: the name reads as a sentence) reuse groupin the section group reference systemno extension
MatchSameContentAs
(no comment in the source: the name reads as a sentence) match same content asin the section group reference systemno extension
MatchOppositeTagAs
(no comment in the source: the name reads as a sentence) match opposite tag asin the section group reference systemno extension
IsBeforeGroup
(no comment in the source: the name reads as a sentence) is before groupin the section group reference systemno extension
FindGroup
(no comment in the source: the name reads as a sentence) find groupin the section group reference systemno extension
pvtGetRepeat
(no comment in the source: the name reads as a sentence) pvt get repeatin the section group reference systemno extension

