Thread: Regexp_replace help

Regexp_replace help

From
Chris Hoover
Date:
Looking for some help here.  I have a string that has ‘code1234’ in it.  The 1234 can vary and I won’t know what they would be.  Trying to figure out how to use regexp_replace to trim down the string, but unsure how to keep the ‘code1234’ in the string.


The search should be ‘ code[0-9]+? .*’. However, I don’t understand what the replace should be.

I.E.:
SELECT regexp_replace(’This is my test string that caused code12 from abc’,
                                         ‘ code[0-9]+? .*’,
                                         ‘What should this be so I keep the code12?‘)
Desire result:
’This is my test string that caused code12’


SELECT regexp_replace(’This is my second test string and it is causing code1234 from def.  The weather is nice. :)’,
                                         ‘ code[0-9]+? .*’,
                                         ‘What should this be so I keep the code1234?’)
Desire result:
This is my second test string and it is causing code1234

Thanks,


Chris Hoover
Senior DBA
AWeber.com
Cell: (803) 528-2269
Email: chrish@aweber.com



Re: Regexp_replace help

From
"David G. Johnston"
Date:
On Thursday, September 12, 2024, Chris Hoover <chrish@aweber.com> wrote:

SELECT regexp_replace(’This is my second test string and it is causing code1234 from def.  The weather is nice. :)’,
                                         ‘ code[0-9]+? .*’,
                                         ‘What should this be so I keep the code1234?’)
Desire result:
This is my second test string and it is causing code1234

Probably easier to just regexp_match “^(.+?code\d+)\b”, and keep the contents of group 1.

David J.


Re: Regexp_replace help

From
jian he
Date:
On Fri, Sep 13, 2024 at 5:18 AM Chris Hoover <chrish@aweber.com> wrote:
>
> Looking for some help here.  I have a string that has ‘code1234’ in it.  The 1234 can vary and I won’t know what they
wouldbe.  Trying to figure out how to use regexp_replace to trim down the string, but unsure how to keep the ‘code1234’
inthe string. 
>
>
> The search should be ‘ code[0-9]+? .*’. However, I don’t understand what the replace should be.
>
> I.E.:
> SELECT regexp_replace(’This is my test string that caused code12 from abc’,
>                                          ‘ code[0-9]+? .*’,
>                                          ‘What should this be so I keep the code12?‘)
> Desire result:
> ’This is my test string that caused code12’
>
>
> SELECT regexp_replace(’This is my second test string and it is causing code1234 from def.  The weather is nice. :)’,
>                                          ‘ code[0-9]+? .*’,
>                                          ‘What should this be so I keep the code1234?’)
> Desire result:
> ‘This is my second test string and it is causing code1234’
>

please try these.

select SUBSTRING($$This is my test string that caused code12 from
abc$$ from '.*(?:code[0-9]\S+)');
select SUBSTRING($$This is my test string that caused code12s1 from
abc$$ from '.*(?:code\S+)');
SELECT SUBSTRING($$This is my second test string and it is causing
code1234 from def.  The weather is nice. :$$
from '.*(?:code\S+)');