Re: Sv: Re: Sv: Re: regex match and special characters

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: Sv: Re: Sv: Re: regex match and special characters
Дата
Msg-id abb828a5-3483-c595-4316-a9ee48837e86@aklaver.com
обсуждение исходный текст
Ответ на Sv: Re: Sv: Re: regex match and special characters  (Andreas Joseph Krogh <andreas@visena.com>)
Ответы Re: Sv: Re: Sv: Re: regex match and special characters  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: regex match and special characters  (Oleksii Kliukin <alexk@hintbits.com>)
Список pgsql-general
On 08/16/2018 07:47 AM, Andreas Joseph Krogh wrote:
> På torsdag 16. august 2018 kl. 16:32:40, skrev Adrian Klaver 
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>>:
> 
>     On 08/16/2018 07:04 AM, Andreas Joseph Krogh wrote:
> 
>      > char(2006) produces the wrong character as 2006 is the hex-value. You
>      > have to use 8198:
>      > andreak@[local]:543310.4 andreak=# select version();
>      >
>     ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
>      > │                                            version
>      >                                              │
>      >
>     ├────────────────────────────────────────────────────────────────────────────────────────────────┤
>      > │ PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
>      > 7.3.0-16ubuntu3) 7.3.0, 64-bit │
>      >
>     └────────────────────────────────────────────────────────────────────────────────────────────────┘
>      > (1 row)
>      >
>      > andreak@[local]:543310.4 andreak=# select 'abcd'||chr(8198) ~
>     'abcd\s';
>      > ┌──────────┐
>      > │ ?column? │
>      > ├──────────┤
>      > │ t        │
>      > └──────────┘
>      > (1 row)
> 
>     Argh, read the wrong line. Thanks for the correction. Still:
> 
>     test=# select version();
>                                             version
> 
>     ------------------------------------------------------------------------------------
>        PostgreSQL 10.5 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux)
>     4.8.5, 64-bit
>     (1 row)
> 
> 
>     test=# select 'abcd'||chr(8198) ~ E'abcd\s';
>        ?column?
>     ----------
>        f
>     (1 row)
> 
> When using E-syntax you need to double the backslash for escaping:
> andreak@[local]:543310.4 andreak=# select 'abcd'||chr(8198) ~ E'abcd\\s';
> ┌──────────┐
> │ ?column? │
> ├──────────┤
> │ t        │
> └──────────┘
> (1 row)

Hmm:

test=# show standard_conforming_strings;
  standard_conforming_strings
-----------------------------
  off
(1 row)

test=# show escape_string_warning;
  escape_string_warning
-----------------------
  on
(1 row)



test=# select 'abcd'||chr(8198) ~ 'abcd\s';
WARNING:  nonstandard use of escape in a string literal
LINE 1: select 'abcd'||chr(8198) ~ 'abcd\s';
                                    ^
HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.
  ?column?
----------
  f
(1 row)

test=# select 'abcd'||chr(8198) ~ 'abcd\\s';
WARNING:  nonstandard use of \\ in a string literal
LINE 1: select 'abcd'||chr(8198) ~ 'abcd\\s';
                                    ^
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
  ?column?
----------
  t
(1 row)


test=# set escape_string_warning = 'off';
SET
test=# show escape_string_warning;
  escape_string_warning
-----------------------
  off
(1 row)

test=# select 'abcd'||chr(8198) ~ 'abcd\s';
  ?column?
----------
  f
(1 row)

test=# set standard_conforming_strings = 'on';
SET
test=# show standard_conforming_strings;
  standard_conforming_strings
-----------------------------
  on
(1 row)

test=# select 'abcd'||chr(8198) ~ 'abcd\s';
  ?column?
----------
  t
(1 row)


Wonder if the OP has standard_conforming_strings='off' and
escape_string_warning='off'?



> -- 
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas@visena.com <mailto:andreas@visena.com>
> www.visena.com <https://www.visena.com>
> <https://www.visena.com>


-- 
Adrian Klaver
adrian.klaver@aklaver.com


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

Предыдущее
От: Andreas Joseph Krogh
Дата:
Сообщение: Sv: Re: Sv: Re: regex match and special characters
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Sv: Re: Sv: Re: regex match and special characters