Re: Can Postgres beat Oracle for regexp_count? - Mailing list pgsql-general

From Shaozhong SHI
Subject Re: Can Postgres beat Oracle for regexp_count?
Date
Msg-id CA+i5JwZxxVy0uwg9bKYQOs=PZ617Xr7xTaPm4eqsrzsBz-BxNw@mail.gmail.com
Whole thread Raw
In response to Re: Can Postgres beat Oracle for regexp_count?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Can Postgres beat Oracle for regexp_count?
Re: Can Postgres beat Oracle for regexp_count?
List pgsql-general
Hi, Tom, Lane,

On Wed, 2 Feb 2022 at 22:26, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> Given we don't have a regexp_count function this isn't surprising...

FYI, it's there in HEAD.

In the meantime, you could possibly do something like

=# select count(*) from regexp_matches('My High Street', '([A-Z][a-z]+[\s])', 'g');
 count
-------
     2
(1 row)

(Note that 2 is the correct answer given that there's no space
after the third word; I trust Oracle agrees.)

Can the whole 3 or 4 or 5 to be matched as 1?

The following has been attempted but no luck.

select regexp_matches('My High Street', '([A-Z][a-z]+[\s]*)+', 'g')
It is intended to match 'My High Street, but it turned out only 'Street' was matched. 

Regards,  David 

pgsql-general by date:

Previous
From: Abhishek Bhola
Date:
Subject: Re: Subscription stuck at initialize state
Next
From: "David G. Johnston"
Date:
Subject: Re: Can Postgres beat Oracle for regexp_count?