regexp_substr() — PostgreSQL string function

regexp_substr(): extract substring that matches regexp. PostgreSQL string functions — signature, volatility, version applicability and an illustrative example.

Summary

regexp_substr is a PostgreSQL built-in function in the String Functions group. PostgreSQL’s system catalog (pg_proc) describes it as: “extract substring that matches regexp”.

Signature

regexp_substr has 5 documented overloaded forms:

regexp_substr(text, text) → text
regexp_substr(text, text, integer) → text
regexp_substr(text, text, integer, integer) → text
regexp_substr(text, text, integer, integer, text) → text
regexp_substr(text, text, integer, integer, text, integer) → text

Argument and return types are taken from the pg_proc catalog; internal type names are shown using their readable SQL spellings (for example int4 is shown as integer). (Derived from the catalog — see the linked reference for the canonical documentation.)

Classification

  • Category: String Functions
  • Kind: Function
  • Volatility: IMMUTABLE — Marked IMMUTABLE — it always returns the same result for the same arguments and can be used in indexes and other contexts that require immutability.
  • Returns: text

Example

Illustrative form (replace placeholder values with your own data):

SELECT regexp_substr('abc', 'abc');

The example above is illustrative and is meant to show calling syntax only; consult the linked PostgreSQL documentation for exact semantics, edge cases and accepted argument combinations.

Version applicability

regexp_substr is present across the surveyed releases (PostgreSQL 15, 16, 17). On older major versions, behaviour may differ in detail — always check the documentation for the version you run.

Related & references

Reference: PostgreSQL documentation — String Functions.