Thread: еще раз про регулярные выражения для utf8

еще раз про регулярные выражения для utf8

From
Mihail Nasedkin
Date:
Доброго всем.

Продолжение по теме
http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
ничего не выходит.

Т.е. не все гадко с регулярными выражениями c UTF8:


test=# select 'Вася' ~ E'\\w';
 ?column?
----------
 f
(1 запись)

test=# select 'Vasya' ~ E'\\w';
 ?column?
----------
 t
(1 запись)

Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8

Может кто продвинулся в понимании этой проблемы?


--
---
С уважением,
Михаил Наседкин

Там не все гладко:

http://archives.postgresql.org/pgsql-general/2008-04/msg01315.php

2009/12/1 Mihail Nasedkin <m.nasedkin@gmail.com>
Доброго всем.

Продолжение по теме
http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
ничего не выходит.

Т.е. не все гадко с регулярными выражениями c UTF8:


test=# select 'Вася' ~ E'\\w';
 ?column?
----------
 f
(1 запись)

test=# select 'Vasya' ~ E'\\w';
 ?column?
----------
 t
(1 запись)

Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8

Может кто продвинулся в понимании этой проблемы?


--
---
С уважением,
Михаил Наседкин

--
Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-ru-general

Re: [pgsql-ru-general] еще раз про регулярные выражения для utf8

From
Андрей Зевакин
Date:
Нашел это "Add ability to use case-insensitive regular expressions on
multi-byte characters" в TODO к версии 8.5 :)

1 декабря 2009 г. 11:04 пользователь Mihail Nasedkin
<m.nasedkin@gmail.com> написал:
> Доброго всем.
>
> Продолжение по теме
> http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
> Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
> ничего не выходит.
>
> Т.е. не все гадко с регулярными выражениями c UTF8:
>
>
> test=# select 'Вася' ~ E'\\w';
>  ?column?
> ----------
>  f
> (1 запись)
>
> test=# select 'Vasya' ~ E'\\w';
>  ?column?
> ----------
>  t
> (1 запись)
>
> Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8
>
> Может кто продвинулся в понимании этой проблемы?
>
>
> --
> ---
> С уважением,
> Михаил Наседкин
>
> --
> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general
>

Может, пока доделывают, покопать в сторону
create function ... language plperl?

Может кто пробовал для регекспов?

2 декабря 2009 г. 10:37 пользователь Mihail Nasedkin
<m.nasedkin@gmail.com> написал:
> Может пока доделают покопать в сторону
> create function ... language plperl?
>
> Может кто пробовал для регекспов?
>
> 1 декабря 2009 г. 20:33 пользователь Vyacheslav Kalinin <vka@mgcp.com> написал:
>> Там не все гладко:
>> http://archives.postgresql.org/pgsql-general/2008-04/msg01315.php
>>
>> 2009/12/1 Mihail Nasedkin <m.nasedkin@gmail.com>
>>>
>>> Доброго всем.
>>>
>>> Продолжение по теме
>>> http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
>>> Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
>>> ничего не выходит.
>>>
>>> Т.е. не все гадко с регулярными выражениями c UTF8:
>>>
>>>
>>> test=# select 'Вася' ~ E'\\w';
>>>  ?column?
>>> ----------
>>>  f
>>> (1 запись)
>>>
>>> test=# select 'Vasya' ~ E'\\w';
>>>  ?column?
>>> ----------
>>>  t
>>> (1 запись)
>>>
>>> Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8
>>>
>>> Может кто продвинулся в понимании этой проблемы?
>>>
>>>
>>> --
>>> ---
>>> С уважением,
>>> Михаил Наседкин
>>>
>>> --
>>> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-ru-general
>>
>>
>
>
>
> --
> ---
> С уважением,
> Михаил Наседкин
>



--
---
С уважением,
Михаил Наседкин

Всем привет.

Я обхожу '\w' используя '[a-zA-Zа-яА-Я0-9]'. Не генеричное решение
конечно, но, если для задачи его достаточно, эффективное.

2009/12/2 Mihail Nasedkin <m.nasedkin@gmail.com>:
> Может, пока доделывают, покопать в сторону
> create function ... language plperl?
>
> Может кто пробовал для регекспов?
>
> 2 декабря 2009 г. 10:37 пользователь Mihail Nasedkin
> <m.nasedkin@gmail.com> написал:
>> Может пока доделают покопать в сторону
>> create function ... language plperl?
>>
>> Может кто пробовал для регекспов?
>>
>> 1 декабря 2009 г. 20:33 пользователь Vyacheslav Kalinin <vka@mgcp.com> написал:
>>> Там не все гладко:
>>> http://archives.postgresql.org/pgsql-general/2008-04/msg01315.php
>>>
>>> 2009/12/1 Mihail Nasedkin <m.nasedkin@gmail.com>
>>>>
>>>> Доброго всем.
>>>>
>>>> Продолжение по теме
>>>> http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
>>>> Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
>>>> ничего не выходит.
>>>>
>>>> Т.е. не все гадко с регулярными выражениями c UTF8:
>>>>
>>>>
>>>> test=# select 'Вася' ~ E'\\w';
>>>>  ?column?
>>>> ----------
>>>>  f
>>>> (1 запись)
>>>>
>>>> test=# select 'Vasya' ~ E'\\w';
>>>>  ?column?
>>>> ----------
>>>>  t
>>>> (1 запись)
>>>>
>>>> Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8
>>>>
>>>> Может кто продвинулся в понимании этой проблемы?
>>>>
>>>>
>>>> --
>>>> ---
>>>> С уважением,
>>>> Михаил Наседкин
>>>>
>>>> --
>>>> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
>>>> To make changes to your subscription:
>>>> http://www.postgresql.org/mailpref/pgsql-ru-general
>>>
>>>
>>
>>
>>
>> --
>> ---
>> С уважением,
>> Михаил Наседкин
>>
>
>
>
> --
> ---
> С уважением,
> Михаил Наседкин
>
> --
> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general
>



--
Regards,
Sergey Konoplev
--
PostgreSQL articles in Russian and English
http://gray-hemp.blogspot.com/search/label/postgresql/

Спасибо, пойдет.

2 декабря 2009 г. 12:43 пользователь Sergey Konoplev
<gray.ru@gmail.com> написал:
> Всем привет.
>
> Я обхожу '\w' используя '[a-zA-Zа-яА-Я0-9]'. Не генеричное решение
> конечно, но, если для задачи его достаточно, эффективное.
>
> 2009/12/2 Mihail Nasedkin <m.nasedkin@gmail.com>:
>> Может, пока доделывают, покопать в сторону
>> create function ... language plperl?
>>
>> Может кто пробовал для регекспов?
>>
>> 2 декабря 2009 г. 10:37 пользователь Mihail Nasedkin
>> <m.nasedkin@gmail.com> написал:
>>> Может пока доделают покопать в сторону
>>> create function ... language plperl?
>>>
>>> Может кто пробовал для регекспов?
>>>
>>> 1 декабря 2009 г. 20:33 пользователь Vyacheslav Kalinin <vka@mgcp.com> написал:
>>>> Там не все гладко:
>>>> http://archives.postgresql.org/pgsql-general/2008-04/msg01315.php
>>>>
>>>> 2009/12/1 Mihail Nasedkin <m.nasedkin@gmail.com>
>>>>>
>>>>> Доброго всем.
>>>>>
>>>>> Продолжение по теме
>>>>> http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
>>>>> Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
>>>>> ничего не выходит.
>>>>>
>>>>> Т.е. не все гадко с регулярными выражениями c UTF8:
>>>>>
>>>>>
>>>>> test=# select 'Вася' ~ E'\\w';
>>>>>  ?column?
>>>>> ----------
>>>>>  f
>>>>> (1 запись)
>>>>>
>>>>> test=# select 'Vasya' ~ E'\\w';
>>>>>  ?column?
>>>>> ----------
>>>>>  t
>>>>> (1 запись)
>>>>>
>>>>> Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8
>>>>>
>>>>> Может кто продвинулся в понимании этой проблемы?
>>>>>
>>>>>
>>>>> --
>>>>> ---
>>>>> С уважением,
>>>>> Михаил Наседкин
>>>>>
>>>>> --
>>>>> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
>>>>> To make changes to your subscription:
>>>>> http://www.postgresql.org/mailpref/pgsql-ru-general
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> ---
>>> С уважением,
>>> Михаил Наседкин
>>>
>>
>>
>>
>> --
>> ---
>> С уважением,
>> Михаил Наседкин
>>
>> --
>> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-ru-general
>>
>
>
>
> --
> Regards,
> Sergey Konoplev
> --
> PostgreSQL articles in Russian and English
> http://gray-hemp.blogspot.com/search/label/postgresql/
>



--
---
С уважением,
Михаил Наседкин

On Dec 1, 2009, at 6:24 PM, Андрей Зевакин wrote:

> Нашел это "Add ability to use case-insensitive regular expressions on
> multi-byte characters" в TODO к версии 8.5 :)

Кстати, Том Лэйн уже добавил эту возможность в 8.5:
http://archives.postgresql.org/message-id/20091201210024.B1393753FB7@cvs.postgresql.org

Можно брать свежий cvs/git и тестировать.

>
> 1 декабря 2009 г. 11:04 пользователь Mihail Nasedkin
> <m.nasedkin@gmail.com> написал:
>> Доброго всем.
>>
>> Продолжение по теме
>> http://archives.postgresql.org/pgsql-ru-general/2007-09/msg00006.php
>> Там автор вроде так и не разобрался. Я тоже столкнулся. Стал копать -
>> ничего не выходит.
>>
>> Т.е. не все гадко с регулярными выражениями c UTF8:
>>
>>
>> test=# select 'Вася' ~ E'\\w';
>>  ?column?
>> ----------
>>  f
>> (1 запись)
>>
>> test=# select 'Vasya' ~ E'\\w';
>>  ?column?
>> ----------
>>  t
>> (1 запись)
>>
>> Перепрверил все encodings, locale - все стоит в ru_RU.UTF-8
>>
>> Может кто продвинулся в понимании этой проблемы?
>>

--
Alexey Klyukin                    http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc