Platforms to show: All Mac Windows Linux Cross-Platform

PCRE2MatchContextMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class Regular Expressions MBS RegEx Plugin 22.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The class for a match context.
// we limit offset here
Dim context As New PCRE2MatchContextMBS
context.DepthLimit = 100
context.OffsetLimit = 3 // cause error later. 10 works

Var Compiler As New PCRE2CompilerMBS

// find numbers
compiler.Pattern = "(\d+)([$€£]?)"
compiler.UseOffsetLimit = True

Var code As PCRE2CodeMBS = Compiler.Compile

// prepare reuable match object
Dim Match As New PCRE2MatchDataMBS(code)

// now run a match
Dim Text As String = "Täst 1234€ Case"
Dim n As Integer = code.Match(Text, match, 0, context)

// show matched text
MessageBox match.SubString(0)

// The offset_limit parameter limits how far an unanchored search can advance in the subject string. The default value is PCRE2_UNSET. The Match() functions return -1 if a match with a starting point before or at the given offset is not found. The Substitute() function makes no more substitutions.
// For example, if the pattern /abc/ is matched against "123abc" with an offset limit less than 3, the result is -1. A match can never be found if the startoffset argument of Match() or Substitute() is greater than the offset limit set in the match context.

A match context is needed only if you want to:

  • Set up a callout function
  • Set a matching offset limit
  • Change the heap memory limit
  • Change the backtracking match limit
  • Change the backtracking depth limit
  • Set custom memory management specifically for the match

This class has no sub classes.

Some methods using this class:

Blog Entries

Xojo Developer Magazine

Release notes

The items on this page are in the following plugins: MBS RegEx Plugin.

PCRE2IteratorMBS   -   PCRE2MatchDataMBS

The biggest plugin in space...