Qore Programming Language Reference Manual  0.8.11.1
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 or global extractions (only applicable with the substitution and extraction operators)

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