Home Explore Blog CI



postgresql

40th chunk of `doc/src/sgml/func.sgml`
6d07fde5762cca5633b545e9b2a45ab93fcbd0a542277e000000000100000fa8
 role="func_signature">
        <indexterm>
         <primary>regexp_match</primary>
        </indexterm>
        <function>regexp_match</function> ( <parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> <optional>, <parameter>flags</parameter> <type>text</type> </optional> )
        <returnvalue>text[]</returnvalue>
       </para>
       <para>
        Returns substrings within the first match of the POSIX regular
        expression <parameter>pattern</parameter> to
        the <parameter>string</parameter>; see
        <xref linkend="functions-posix-regexp"/>.
       </para>
       <para>
        <literal>regexp_match('foobarbequebaz', '(bar)(beque)')</literal>
        <returnvalue>{bar,beque}</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm>
         <primary>regexp_matches</primary>
        </indexterm>
        <function>regexp_matches</function> ( <parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> <optional>, <parameter>flags</parameter> <type>text</type> </optional> )
        <returnvalue>setof text[]</returnvalue>
       </para>
       <para>
        Returns substrings within the first match of the POSIX regular
        expression <parameter>pattern</parameter> to
        the <parameter>string</parameter>, or substrings within all
        such matches if the <literal>g</literal> flag is used;
        see <xref linkend="functions-posix-regexp"/>.
       </para>
       <para>
        <literal>regexp_matches('foobarbequebaz', 'ba.', 'g')</literal>
        <returnvalue></returnvalue>
<programlisting>
 {bar}
 {baz}
</programlisting>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <indexterm>
         <primary>regexp_replace</primary>
        </indexterm>
        <function>regexp_replace</function> ( <parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type>, <parameter>replacement</parameter> <type>text</type>
         <optional>, <parameter>flags</parameter> <type>text</type> </optional> )
        <returnvalue>text</returnvalue>
       </para>
       <para>
        Replaces the substring that is the first match to the POSIX
        regular expression <parameter>pattern</parameter>, or all such
        matches if the <literal>g</literal> flag is used; see
        <xref linkend="functions-posix-regexp"/>.
       </para>
       <para>
        <literal>regexp_replace('Thomas', '.[mN]a.', 'M')</literal>
        <returnvalue>ThM</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>regexp_replace</function> ( <parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type>, <parameter>replacement</parameter> <type>text</type>,
         <parameter>start</parameter> <type>integer</type>
         <optional>, <parameter>N</parameter> <type>integer</type>
         <optional>, <parameter>flags</parameter> <type>text</type> </optional> </optional> )
        <returnvalue>text</returnvalue>
       </para>
       <para>
        Replaces the substring that is the <parameter>N</parameter>'th
        match to the POSIX regular expression <parameter>pattern</parameter>,
        or all such matches if <parameter>N</parameter> is zero, with the
        search beginning at the <parameter>start</parameter>'th character
        of <parameter>string</parameter>.  If <parameter>N</parameter> is
        omitted, it defaults to 1.  See
        <xref linkend="functions-posix-regexp"/>.
       </para>
       <para>
        <literal>regexp_replace('Thomas', '.', 'X', 3, 2)</literal>
        <returnvalue>ThoXas</returnvalue>
       </para>
       <para>
        <literal>regexp_replace(string=>'hello world', pattern=>'l', replacement=>'XX',

Title: PostgreSQL String Functions: REGEXP_MATCHES, REGEXP_REPLACE
Summary
This section describes PostgreSQL string functions related to regular expressions: `regexp_matches` (returns substrings of all matches if the 'g' flag is used), and `regexp_replace` (replaces substrings matching a regular expression pattern, either the first match or all matches if the 'g' flag is used, or the Nth match).