All Classes Namespaces Functions Variables Groups Pages
Regular Expressions

Regular expression functionality in Qore is provided by PCRE: Perl-Compatible Regular Expression library.

Using this library, Qore implements regular expression pattern matching using the same syntax and semantics as Perl 5.

The following is a list of operators based on regular expressions (or similar to regular expressions in the case of the transliteration operator).

Regular Expression Operators

Operator | Description
Regular Expression Match Operator (=~) | Returns True if the regular expression matches a string
Regular Expression No Match Operator (!~) | Returns True if the regular expression does not match a string
Regular Expression Substitution Operator | Substitutes text in a string based on matching a regular expression
Regular Expression Pattern Extraction Operator | Returns a list of substrings in a string based on matching patterns defined by a regular expression
Transliteration Operator | Not a regular expression operator; transliterates one or more characters to other characters in a string

See the table below for valid regular expression options.

Regular Expression Options

Option | Description
`i` | Ignores case when matching
`m` | makes start-of-line (`^`) or end-of-line (`$`) match after or before any newline in the subject string
`s` | makes a dot (`.`) match a newline character
`x` | ignores whitespace characters and enables comments prefixed by `#`
`g` | makes global substitutions (only applicable with the substitution operator)

The following is a list of functions providing regular expression functionality where the pattern may be given at run-time:

Regular Expression Functions

Function | Description
regex() | Returns True if the regular expression matches a string
regex_subst() | Substitutes a pattern in a string based on regular expressions and returns the new string
regex_extract() | Returns a list of substrings in a string based on matching patterns defined by a regular expression