Re: BUG #6057: regexp_replace & back references

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: BUG #6057: regexp_replace & back references
Дата
Msg-id 1308080704-sup-5009@alvh.no-ip.org
обсуждение исходный текст
Ответ на BUG #6057: regexp_replace & back references  ("Marc Mamin" <marc@intershop.de>)
Список pgsql-bugs
Excerpts from Marc Mamin's message of mar jun 14 12:31:34 -0400 2011:
>
> The following bug has been logged online:
>
> Bug reference:      6057
> Logged by:          Marc Mamin
> Email address:      marc@intershop.de
> PostgreSQL version: 9.0.4
> Operating system:   Windows
> Description:        regexp_replace & back references
> Details:
>
> select regexp_replace ('a','(a)','\\1'||substring('\\1',1,1)||'\\1','g')
> = a\1
> I'd expect  a\1a as result.

Note that the substring returns a single character which is a literal \.
That \ escapes the \ in the final '\\1', which turns into the literal \
that you see in the result.  The subsequent 1 is the leftover char from
the final '\\1'.

I think this is clearer if you set standard_conforming_strings to on.

--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

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

Предыдущее
От: "Rikard Pavelic"
Дата:
Сообщение: BUG #6058: psql password prompt
Следующее
От: "Perry Smith"
Дата:
Сообщение: BUG #6059: Out of tree build fails using Make 3.82