SYNOPSIS

#include <regexp.h>
int regexp_package()

DESCRIPTION

Return which regexp package is used by default:

RE_TRADITIONAL: traditional regexps RE_PCRE: PCRE

As the package can be selected at runtime through the H_REGEXP_PACKAGE(H) driver hook, there is no good way to determine the package at LPC compile time. Match the pattern <pattern> (interpreted according to <opt> if given) against all strings in list, and return a new array with all strings that matched.

If there is an error in the regular expression, a runtime error will be raised.

USAGE

This example uses a regular expression to test the given string (which is packed into an array) if there is something like “help ... me” inside of it:

string strs;
string pattern;

if (regexp_package() == RE_PCRE)
    pattern = "\\<help\\>.*\\<me\\>";
else
    pattern = "\\bhelp\\b.*\\bme\\b";

if (strs = regexp(({"please, help me Sir John."}), pattern)) {
    if (sizeof(strs)
        write("It matches.\n");
}

HISTORY

  • introduced (3.3.634)