Обсуждение: integer only sposix/regex

Поиск
Список
Период
Сортировка

integer only sposix/regex

От
rodeored
Дата:
I'm trying to search phone numbers for digits. Unfortunately, the
validation has been sloppy and the numbers are not just numbers, they
also have dashes and probably other stuff.
I would like the search to ignore anything but integers

WHERE (a.phone1 ~* '.*626.*' OR a.phone2 ~* '.*626.*' OR a.phone2 ~*
'.*626.*')

Re: integer only sposix/regex

От
Steve Atkins
Дата:
On Jun 15, 2009, at 8:21 PM, rodeored wrote:

> I'm trying to search phone numbers for digits. Unfortunately, the
> validation has been sloppy and the numbers are not just numbers, they
> also have dashes and probably other stuff.
> I would like the search to ignore anything but integers
>
> WHERE (a.phone1 ~* '.*626.*' OR a.phone2 ~* '.*626.*' OR a.phone2 ~*
> '.*626.*')

A hideous way would be a.phone1 ~ '6[^0-9]*2[^0-9]*6'

A possibly less hideous way would be regexp_replace(a.phone1,
'[^0-9]+', '') ~ '626'.

Cheers,
   Steve