match - Match a sting with a regular expression
match(string search_in,string pattern [, character search_pattern_option])
Searches search_in for a match to the regular expression given in pattern. This function is using PCRE (Perl-compatible Regular Expressions) to search the patterns. For more detail, please refer to to PCRE documentation page https://www.pcre.org/original/doc/html/
search_in
required, the string to search in.
'i': PCRE_CASELESS;
'a': PCRE_ANCHORED;
'm': PCRE_MULTILINE;
's': PCRE_DOTALL;
'x': PCRE_EXTENDED;
'U': PCRE_UNGREEDY;
'r': PCRE_BSR_ANYCRLF;
'u': PCRE_BSR_UNICODE;
'e': PCRE_DOLLAR_ENDONLY;
'd': PCRE_DOTALL;
'f': PCRE_FIRSTLINE;
'j': PCRE_JAVASCRIPT_COMPAT;
'n': PCRE_NEWLINE_ANY;
'N': PCRE_NEWLINE_ANYCRLF;
'c': PCRE_NEWLINE_CR;
'l': PCRE_NEWLINE_CRLF;
Here are the detailed explaination of the options:
  PCRE_ANCHORED           Force pattern anchoring
  PCRE_AUTO_CALLOUT       Compile automatic callouts
  PCRE_BSR_ANYCRLF        \R matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE        \R matches all Unicode line endings
  PCRE_CASELESS           Do caseless matching
  PCRE_DOLLAR_ENDONLY     $ not to match newline at end
  PCRE_DOTALL             . matches anything including NL
  PCRE_DUPNAMES           Allow duplicate names for subpatterns
  PCRE_EXTENDED           Ignore white space and # comments
  PCRE_EXTRA              PCRE extra features
                            (not much use currently)
  PCRE_FIRSTLINE          Force matching to be before newline
  PCRE_JAVASCRIPT_COMPAT  JavaScript compatibility
  PCRE_MULTILINE          ^ and $ match newlines within data
  PCRE_NEVER_UTF          Lock out UTF, e.g. via (*UTF)
  PCRE_NEWLINE_ANY        Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF    Recognize CR, LF, and CRLF as newline
                            sequences
  PCRE_NEWLINE_CR         Set CR as the newline sequence
  PCRE_NEWLINE_CRLF       Set CRLF as the newline sequence
  PCRE_NEWLINE_LF         Set LF as the newline sequence
  PCRE_NO_AUTO_CAPTURE    Disable numbered capturing paren-
                            theses (named ones available)
  PCRE_NO_AUTO_POSSESS    Disable auto-possessification
  PCRE_NO_START_OPTIMIZE  Disable match-time start optimizations
  PCRE_NO_UTF16_CHECK     Do not check the pattern for UTF-16
                            validity (only relevant if
                            PCRE_UTF16 is set)
  PCRE_NO_UTF32_CHECK     Do not check the pattern for UTF-32
                            validity (only relevant if
                            PCRE_UTF32 is set)
  PCRE_NO_UTF8_CHECK      Do not check the pattern for UTF-8
                            validity (only relevant if
                            PCRE_UTF8 is set)
  PCRE_UCP                Use Unicode properties for \d, \w, etc.
  PCRE_UNGREEDY           Invert greediness of quantifiers
  PCRE_UTF16              Run in pcre16_compile() UTF-16 mode
  PCRE_UTF32              Run in pcre32_compile() UTF-32 mode
  PCRE_UTF8               Run in pcre_compile() UTF-8 mode
	Returns an array of matched result, which is a list of arrays of matched strings.
Note: In the followings examples, the _ between the { should be removed to make it work.
 res={_{
   match("Pierre  56a Laplante 65b chantal 72c caroline", "", "i");// return *regular expression is empty.*
   match("Pierre  56a Laplante 65b chantal 72c caroline", "(\d\d\d\d-\d\d)", "i");// return [], an empty array.
   match("Pierre  56a Laplante 65b chantal 72c caroline", "(\d+)([A-Z]+)", "i"); // return [["56","a"],["65","b"],["72","c"]].
   match("Pierre 56a Laplante 65b7 chantal 72c7 caroline", "(\d+)([A-Z]+)(\d)", "i");// return [["65","b","7"],["72","c","7"]].
}}. 
{{ include("includes/strings.sn") }}
Written by Xueyuan Peng, <xueyuanp@sednove.com>
Edit© 2025 extenso Inc. All rights reserved.