regexp_replace - replace non-numbers

From: Vincas Dargis <vincas(dot)d(at)nensis(dot)lt>
To: pgsql-general(at)postgresql(dot)org
Subject: regexp_replace - replace non-numbers
Date: 2008-10-28 14:42:09
Message-ID: 490724C1.3060802@nensis.lt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello everyone,

I have problem with regexp_replace ( PostgreSQL 8.3.1). Please try this
crappy string replacement:

select regexp_replace('abcd1235hgj!(at)#$^&^&*()[]-=', '[^0-9]*' ,'')

..and I get:
"1235hgj!(at)#$^&^&*()[]-="

So only thirst assurance where removed, while documentation states that
"Replace substring_(s)_ matching a POSIX regular expression. ". I need
to get digits-only from any string. No sign or decimal point is needed.

I believe it's problem with my regular expression, as I am not very good
at it, thought it looks quite OK in Regex Coatch.

...or maybe there are way for 'no-errorous-blocking' casting? I could
easily skip strings witch could not be CAST'ed to bigint, but as long as
I get error and aborted transaction, I'm trying this approach.

Thanks for comments!

--

Geros dienos,

Vincas Dargis

Programuotojas
UAB "ProNENSIS"
Metalistų g. 10, Šiauliai, LT - 78136
Tel: +370 41 50 23 33
Faksas: +370 41 42 16 12

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-10-28 14:44:40 Re: getting our bearings on "out of memory. failed on request of size..."
Previous Message Jack Orenstein 2008-10-28 14:36:00 Re: Postgres optimizer choosing wrong index