Re: [SQL] Help with regexp-query - Mailing list pgsql-sql

From Charlie
Subject Re: [SQL] Help with regexp-query
Date
Msg-id BLU0-SMTP16785319A22BF10CA427873CE3B0@phx.gbl
Whole thread Raw
List pgsql-sql
select id, regexp_replace(category, (E'\\|{2,}'), E'\|', 'g') as category from
akb_articles limit 100

Backslash in regex doubled. Added global modifier to replace all occurrences.


----- Reply message -----
From: "Johann Spies" <jspies@sun.ac.za>
Date: Thu, Jul 28, 2011 8:20 am
Subject: [SQL] Help with regexp-query
To: <pgsql-sql@postgresql.org>

I am struggling a bit to do the following type of update in a table.

I want the content of a field updated like this:

Original:  
'||||0894396e-16bf-4e63-aa52-97fe7031eec9||50a6b47c-f69c-414d-bcb6-14bbe403de5f|||'

After update:
'|0894396e-16bf-4e63-aa52-97fe7031eec9|50a6b47c-f69c-414d-bcb6-14bbe403de5f|'

in other words: change all multiple adjacent occurences of '|' to only 1.

I have tried the following query but it fails:

select id, regexp_replace(category, (E'\|{2,}'), E'\|') as category from
akb_articles limit 100

This ends with 'ERROR: invalid regular expression: quantifier operand
invalid'.

I would apreciate some help with this one please.

Regards
Johann
--
Johann Spies                            Telefoon: 021-808 4699
Databestuurder /  Data manager

Sentrum vir Navorsing oor Evaluasie, Wetenskap en Tegnologie
Centre for Research on Evaluation, Science and Technology
Universiteit Stellenbosch.

    "If any of you lack wisdom, let him ask of God, that
     giveth to all men liberally, and upbraideth not; and
     it shall be given him."              James 1:5

--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql



pgsql-sql by date:

Previous
From: "THOMPSON, JARED (ATTBAPCO)"
Date:
Subject: Re: to_char() accepting invalid dates?
Next
From: "Mike O'Connel"
Date:
Subject: Aggregating results across multiple partitions