regextract

Table of Contents

Prototype: regextract(regex, string, backref)

Return type: boolean

Description: Returns whether the anchored regex matches the string, and fills the array backref with back-references.

If there are any back reference matches from the regular expression, then the array will be populated with the values, in the manner:

    $(backref[0]) = entire string
    $(backref[1]) = back reference 1, etc

Arguments:

  • regex: regular expression, in the range: .*
  • string: string, in the range: .*
  • backref: string, in the range: [a-zA-Z0-9_$(){}\[\].:]+

Example:

body common control
{
      bundlesequence => { "example" };
}

bundle agent example
{
  classes:

      # Extract regex backreferences and put them in an array

      "ok" expression => regextract(
                                     "xx ([^\s]+) ([^\s]+).* xx",
                                     "xx one two three four xx",
                                     "myarray"
      );
  reports:

    ok::

      "ok - \"$(myarray[0])\" = xx + \"$(myarray[1])\" + \"$(myarray[2])\" + .. + xx";
}

Output:

R: ok - "xx one two three four xx" = xx + "one" + "two" + .. + xx