Re: Regular expression not working [^xyz]

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Regular expression not working [^xyz]
Дата
Msg-id Pine.BSF.4.10.10010091635540.22928-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Regular expression not working [^xyz]  (Stuart Peters <s.peters@surrey.ac.uk>)
Список 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.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Stuart Peters
Дата:
Сообщение: Regular expression not working [^xyz]
Следующее
От: Christof Petig
Дата:
Сообщение: Strong feeling of something ugly lurking deeply within 7.0 ;-)