This documentation supports the 20.02 (12.0) version of BMC Discovery.To view an earlier version of the product, select the version from the Product version menu.

regex.extract


regex.extract(string, expression [, substitution] [, no_match])


Returns the result of extracting the regular expression from the string, optionally with a substitution expression and a specified result if no match is found.

Returns an empty string, or the string specified in no_match if the expression does not match. If the string specified was none, an empty string is returned.


The optional substitution expression is used to store groups that match the search expression. The first group is stored in \1, the second in \2, and so forth. For example:


// Extract the version using group 1 of the regular expression.
version := regex.extract(process.cmd, path_regex, raw "\1", no_match := 'No match.');

A versioning string is of the form "Version 2.7.182 patch 69". To extract the patch number, the following function is used:


patch := regex.extract(cmdResult.result, regex 'patch (\d+)',
                          raw '\1', no_match := 'Unsupported.');

The expression patch (\d+) matches patch 69 in the versioning string and it contains the first group matching \1 which is 69. If the versioning string was "Version 2.7.182 patch 69 patch 70" then the second group matching \2 is 70.

If the versioning string was "Version 2.7.182", the function would return "Unsupported."

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*