Re: Regular expression for lower case to upper case.
Alban Hertroys <haramrae@gmail.com>
From: Alban Hertroys <haramrae@gmail.com>
To: Eagna <eagna@protonmail.com>
Cc: "David G. Johnston" <david.g.johnston@gmail.com>,
"pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2022-12-11T10:41:06Z
Lists: pgsql-general
> On 10 Dec 2022, at 12:00, Eagna <eagna@protonmail.com> wrote: > > > Hi, and thanks for your input. > > >> RegExp by itself cannot do this. You have to match all parts of the input into different capturing groups, then use lower() combined with format() to build a new string. Putting the capturing groups into an array is the most useful option. > > > OK - I *_kind_* of see what you're saying. > > There's a small fiddle here (https://dbfiddle.uk/rhw1AdBY) if you'd care to give an outline of the solution that you propose. If you put all the regexes and their replacements into a table[1], you could use an aggregate over them to combine all the replacements into the final string. It would need some aggregate like regex_replace_agg, which would probably be a custom aggregate. [1]: If you stick to ASCII, you could just calculate them and even omit storing them in a physical table. Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll find there is no forest.