Re: Regular expression to UPPER() a lower case string

From: Gianni Ceccarelli <dakkar(at)thenautilus(dot)net>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Regular expression to UPPER() a lower case string
Date: 2022-12-10 13:47:40
Message-ID: 20221210134740.2dbf966e@nautilus
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2022-12-10 Eagna <eagna(at)protonmail(dot)com> wrote:
> Hi again, and thanks for sticking with this.
> > You haven't explained what you're trying to accomplish.
>
> Ok.
>
> CREATE TABLE test(x TEXT);
>
> INSERT INTO test VALUES ('abc');
>
> SELECT REGEXP_REPLACE(x, '<something>', '<something_else>', 'g')
> FROM test;
>
> Expected result: ABC

`select upper(x) from test`

You haven't explained why you need regexes at all. If you want to
convert the value of a text column to uppercase, there's a function
for that.

If you want to do something else, please describe the actual thing you
want to do. Not "how", but "what".

> David Johnston suggested something along these lines:
>
> ==========
> > 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.
> ===========
>
> But it's a bit above my pay grade to do this - I've tried, but no go!
> :-( It *_appears_* to me that the string's length would have to be
> hard coded under this strategy - but if that's the only way, then so
> be it.

Maybe you need to look at `regexp_split_to_array` or
`regexp_split_to_table`?

--
Dakkar - <Mobilis in mobile>
GPG public key fingerprint = A071 E618 DD2C 5901 9574
6FE2 40EA 9883 7519 3F88
key id = 0x75193F88

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter J. Holzer 2022-12-10 14:08:43 Re: Regular expression to UPPER() a lower case string
Previous Message Gianni Ceccarelli 2022-12-10 13:44:37 Re: Regular expression to UPPER() a lower case string