Re: Regular expression not working [^xyz]
Stephan Szabo <sszabo@megazone23.bigpanda.com>
From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: Stuart Peters <s.peters@surrey.ac.uk>
Cc: pgsql-bugs@postgresql.org
Date: 2000-10-09T23:43:10Z
Lists: pgsql-bugs
On Mon, 2 Oct 2000, Stuart Peters wrote: > \connect - postgres > CREATE TABLE "bug" ( > "title" text > ); > COPY "bug" FROM stdin; > abcdefghijklm > nopqrstuvwxyz > aeiou > \. > > > > The following queries work as expected, EXCEPT for [2]. I believe > that [2] and [3] should return identical results, but [2] simply > lists ALL titles: > > [1] select title from bug where title ~* '[ae]'; > > Lists titles that contain one of the letters a or e: WORKS > > [2] select title from bug where title ~* '[^ae]'; > > Lists ALL titles rather than those that don't contain a or e: > DOESN'T WORK > (Note: 'select title from bug where title ~* '[^a];' does not work either No, that will match any title with at least one character that is not an a or e. It you want a match for all characters not a or e it's ~* '^[^ae]*$' If you were to put into bug a row like a or ae or e, that wouldn't match on 2, but abcde... would match because there exists a character other than a or e.