regular expression

Started by fionaabout 21 years ago2 messagesgeneral
Jump to latest
#1fiona
fbissett@blueyonder.co.uk

My database table holds phone numbers that may contain characters other than digits (that's not a problem in itself).

I want to be able to apply a regular expression (to ignore all characters except digits) to the attribute 'phone' first and then for the ILIKE to compare
the result to $telephone. I can't find any way of applying the RE to phone.

My current query without the RE is as follows:

SELECT telephone
FROM addresses
WHERE id = user_id
AND phone ILIKE '%".addslashes($telephone)."%'"

I want to do something like: AND phone([^[:digit:]]) ILIKE $telephone
But this doesn't work.
Any ideas?

FB

--
Get Thunderbird <http://www.mozilla.org/products/thunderbird/&gt;
<http://www.mozilla.org/products/thunderbird/&gt;

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: fiona (#1)
Re: regular expression

Hello,

You can use function translate

testdb011=# select
translate('XY1X234X','qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM','');
translate
-----------
1234
(1 row)

Regards
Pavel Stehule