Re: [HACKERS] regexp_replace

From: a_ogawa <a_ogawa(at)hi-ho(dot)ne(dot)jp>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>
Cc: pgsql-patches(at)postgresql(dot)org, PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] regexp_replace
Date: 2005-06-07 00:35:56
Message-ID: PIEMIKOOMKNIJLLLBCBBKEACCIAA.a_ogawa@hi-ho.ne.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


Bruce Momjian wrote:
> David Fetter wrote:
> > On Mon, Jun 06, 2005 at 12:02:18PM -0400, Bruce Momjian wrote:
> > >
> > > Patch removed because we already have this functionality.
> >
> > We don't yet have this functionality, as the patch allows for using
> > second and later regex matches "()" in the replacement pattern.
> >
> > The function is misnamed. It should be called regex_replace_all() or
> > some such, as it violates the principle of least astonishment by
> > replacing all instances by default. Every other regex replacement
> > defaults to "replace first," not "replace all." Or maybe it should
> > take a bool for "replace all," or...? Anyhow, it's worth a discussion
> > :)
>
> Does anyone want to argue that this additional functionality is
> significant and deserves its own function or an additional argument to
> the existing function?

Oracle10g has a similar functionality. The name is regexp_replace.
There is the following usages in this functionality.
- Format the ZIP code and the telephone number, etc.
Example: select regexp_replace('1112223333', '(\\d{3})(\\d{3})(\\d{4})',
'(\\1) \\2-\\3');
result: (111) 222-3333
- Delete an unnecessary white space.
Example: select regexp_replace('A B C', '\\s+', ' ');
result: A B C

I think that the usage increases if "replace all" or "replace first" can be
specified to this function.

regards,

---
Atsushi Ogawa

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2005-06-07 00:42:30 Re: adding new pages bulky way
Previous Message Matthew T. O'Connor 2005-06-07 00:33:26 Re: CPU-intensive autovacuuming

Browse pgsql-patches by date

  From Date Subject
Next Message David Fetter 2005-06-07 00:59:12 Re: [HACKERS] regexp_replace
Previous Message Bruce Momjian 2005-06-07 00:02:59 Re: again: add collation support function