Re: Regular expression. How to disable ALL meta-character

From: David Gagnon <dgagnon(at)siunik(dot)com>
To:
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Regular expression. How to disable ALL meta-character
Date: 2005-04-20 17:36:08
Message-ID: 42669308.3040703@siunik.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Michael Fuhr wrote:

>On Wed, Apr 20, 2005 at 11:28:28AM -0400, David Gagnon wrote:
>
>
>>I have a web interface with offers a search field. This search field
>>will look for the string X in 12 different columns. If the string is
>>found anywhere I return the row.
>>
>>The problem is that the user is eable to put spacial character like : [*
>>This create invalid regular expression and make my sql crash.
>>ICNUM~* #descriptionOrKeyword#
>>
>>Is there a way to disable all meta-character.
>>
>>
>
>Why are you doing a regular expression search if you don't want to
>allow regular expressions?
>
>
>
Maybe there is a simple way to to this but I want find string X in
different column. The search must not be case sensitive.

So that searching "aBc" in "abcDef" return true. I don't want
META-CHaracter. Or at least I don't want meta-character to cause errors
(i.e.: No

ERROR: invalid regular expression: brackets [] not balanced.

Thanks for your help
/David

>>I found this in the manual .. but haven't found example :-(:
>>: ....with ***=, the rest of the RE is taken to be a literal string,
>>with all characters considered ordinary characters.
>>
>>
>
>Read again the entire sentence, especially the first few words:
>
> If an RE begins with ***=, the rest of the RE is taken to be a
> literal string, with all characters considered ordinary characters.
>
>Here are some examples:
>
>SELECT 'test string' ~ 'test[*';
>ERROR: invalid regular expression: brackets [] not balanced
>
>SELECT 'test string' ~ '***=test[*';
> ?column?
>----------
> f
>(1 row)
>
>SELECT 'test[* string' ~ '***=test[*';
> ?column?
>----------
> t
>(1 row)
>
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-04-20 17:50:12 Re: Regular expression. How to disable ALL
Previous Message Aaron Bingham 2005-04-20 17:24:08 Strange interaction of union and expressions