pcre2_set_optimize(3)

pcre2_set_optimize3

Perl-compatible regular expressions (revised api)

Usage

#include <pcre2.h>

int pcre2_set_optimize(pcre2_compile_context *ccontext,
  uint32_t directive);

Overview

This function controls which performance optimizations will be applied by pcre2_compile(). It can be called multiple times with the same compile context; the effects are cumulative, with the effects of later calls taking precedence over earlier ones.

The result is zero for success, PCRE2_ERROR_NULL if ccontext is NULL, or PCRE2_ERROR_BADOPTION if directive is unknown. The latter could be useful to detect if a certain optimization is available.

The list of possible values for the directive parameter are:

PCRE2_OPTIMIZATION_FULL Enable all optimizations (default)
PCRE2_OPTIMIZATION_NONE Disable all optimizations
PCRE2_AUTO_POSSESS Enable auto-possessification
PCRE2_AUTO_POSSESS_OFF Disable auto-possessification
PCRE2_DOTSTAR_ANCHOR Enable implicit dotstar anchoring
PCRE2_DOTSTAR_ANCHOR_OFF Disable implicit dotstar anchoring
PCRE2_START_OPTIMIZE Enable start-up optimizations at match time
PCRE2_START_OPTIMIZE_OFF Disable start-up optimizations at match time

There is a complete description of the PCRE2 native API, including detailed descriptions directive parameter values in the pcre2api page.

Releases

2 releases since Debian 13 (Trixie); the text changed 1 time.

  1. 13
  2. Arch

From pcre2 10.49-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.