Softanza
StartFrançais
Softanza
Reference · Core data & language

Pattern matching

69 functions in 13 classes, grouped by what they do, each with the explanation the library gives of itself.

The story of this area, for a general reader: what a crafter does with it, an example run and its rated lanes, is on its Platform page.

The functions, by what they do

Testing and checking

  • IsValid pattern information and validation in stzRegex
    composed example
    o1 = new stzRegex("[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+")
    ? o1.IsValid()
    #--> 1
    composed from the signature, run for this page
  • IsPartialMatch TRUE only when pcStr is a strict PREFIX of something that would match entirely -- on the way there, not there yet. in stzRegex
    composed example
    o1 = new stzRegex("[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+")
    ? o1.IsPartialMatch("an")
    #--> 1
    composed from the signature, run for this page
  • HasPartialMatch Reads the recorded outcome of the LAST match, exactly as HasMatch() does. It used to re-run a fresh unanchored partial probe instead, so the two siblings could describe different matches. in stzRegex
    composed example
    o1 = new stzRegex("[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+")
    ? o1.HasPartialMatch()
    #--> 0
    composed from the signature, run for this page
  • IsNumeric helper methods in stzTablex
    composed example
    o1 = new stzTablex("{cols(3) & contains(Tunis)}")
    ? o1.IsNumeric("an")
    #--> 0
    composed from the signature, run for this page
  • IsDiagonal part extraction in stzMatrex
    composed example
    o1 = new stzMatrex("{@!property(symmetric)}")
    ? o1.IsDiagonal([ "an", "a" ])
    #--> 0
    composed from the signature, run for this page
  • IsIdentity part extraction in stzMatrex
    composed example
    o1 = new stzMatrex("{@!property(symmetric)}")
    ? o1.IsIdentity([ "an", "a" ])
    #--> 0
    composed from the signature, run for this page
  • IsSymmetric part extraction in stzMatrex
    composed example
    o1 = new stzMatrex("{@!property(symmetric)}")
    ? o1.IsSymmetric([ "an", "a" ])
    #--> 0
    composed from the signature, run for this page
  • CheckPart relation checking in stzNumbrex
  • CheckApprox relation checking in stzNumbrex
  • CheckDigits digit checking in stzNumbrex
  • CheckDivisor relation checking in stzNumbrex
  • CheckFactors factor checking in stzNumbrex

and 3 more in the reference

Finding

  • LastMatchKind The kind of the last match: 0 none, 1 complete, 2 partial. in stzRegex
    composed example
    o1 = new stzRegex("[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+")
    ? o1.LastMatchKind()
    #--> 0
    composed from the signature, run for this page
  • LastError pattern information and validation in stzRegex
  • FindMatchingMatrices filtering operation in stzMatrex
  • FindMostSimilarMatrix matrix comparison methods in stzMatrex
  • FindAllMatches helper methods in stzListexuter

Counting and measuring

Replacing and setting

  • SetCase case sensitivity helper in stzRegexMaker
    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 test
  • SetPattern init and pattern seeting in stzRegex
    composed example
    o1 = new stzRegex("[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+")
    o1.SetPattern("an")
    ? o1.Content()
    #--> an
    composed from the signature, run for this page
  • SetDebug debug methods in stzTablex
  • SetCacheSize cache utility in stzTablex
  • SetTarget query methods in stzTimex

Removing

Adding

  • AddRange adding sequences in stzRegexMaker
    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 page
  • AddComment comment helper in stzRegexMaker
    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 test
  • AddLiteral adding a litteral string in stzRegexMaker
    composed example
    o1 = new stzRegexMaker()
    o1.AddWordBoundary(:start)
    o1.AddCapturingGroup("digits", "\d+")
    o1.AddWordBoundary(:end)
    o1.AddLiteral("a")
    ? o1.Pattern()
    #--> \b(?P<digits>\d+)\ba
    composed from the signature, run for this page
  • AddAmongChars adding sequences in stzRegexMaker
    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 page
  • AddCharsRange adding sequences in stzRegexMaker
    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 page
  • AddAmongDigits adding sequences in stzRegexMaker
    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 page
  • AddDigitsRange adding sequences in stzRegexMaker
    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 page
  • AddMatchLength match length behavior helper in stzRegexMaker
    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 test
  • AddBackReference backreference helper in stzRegexMaker
    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 page
  • AddNotAmongChars adding sequences in stzRegexMaker
    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 page
  • AddCapturingGroup capturing group helper in stzRegexMaker
    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 test
  • AddNotAmongDigits adding sequences in stzRegexMaker
    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 page

and 12 more in the reference

Splitting and extracting

Converting

The explanations are the ones the library gives of itself, read from its documentation comments on 2026-10-01 04:14, from the library at commit 0e72e2e2c, by the library's own stzSelfDoc over 635 class sources.

The classes of this area

Narrations about this area