PostgreSQL – REGEXP_MATCHES Function

The PostgreSQL REGEXP_MATCHES() function is used to match a POSIX regular expression against a string and subsequently returns the strings that match the pattern.

Syntax:REGEXP_MATCHES(source_string, pattern [, flags])

Let’s analyze the above syntax:

  • The source is a string from which the regular expression matches and returns the substring.
  • The pattern is a POSIX regular expression for matching the source string.
  • The flags argument handles the function when more than one character matches the pattern.
  • The REGEXP_MATCHES() function returns the queried string based on the matches.

Example 1:

Suppose, you have a social networking’s post as follows:

'Learning #w3wiki #geekPower'

The following statement allows you to extract the hashtags such as w3wiki and geekPower:

SELECT 
    REGEXP_MATCHES('Learning #w3wiki #geekPower', 
         '#([A-Za-z0-9_]+)', 
        'g');

Output:

Example 2:

This is common for all patterns that can be matched using the Regular Expressions as shown in the below example:

SELECT REGEXP_MATCHES('ABC', '^(A)(..)$', 'g');

Output:


Contact Us