Re: Regexp match with accented character problem

From: Laslo Forro <getforum(at)gmail(dot)com>
To: Thom Brown <thombrown(at)gmail(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Regexp match with accented character problem
Date: 2010-06-08 09:57:35
Message-ID: AANLkTikB2GnPuPycu1S_QR5524mGHC2rYUVCRFJKblKP@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Thanx for your response!

You write:

>test=# select * from texts where title ~* E'\\mmacskacicó\\M';
>
>That works for me.

However, it doesn't work for me (if I understand you right):

test=# select * from texts where title ~* E'\\mmacskacicó\\M';
title | a_text
-------+--------
(0 rows)

It does:

test=# select * from texts where title ~* E'\\mmacskacicó$';
title | a_text
--------------+----------------------------
A macskacicó | A blah blah macskacicónak.
(1 row)

On Tue, Jun 8, 2010 at 11:45 AM, Thom Brown <thombrown(at)gmail(dot)com> wrote:

> On 8 June 2010 09:48, Laslo Forro <getforum(at)gmail(dot)com> wrote:
> > Hi there, could someone drop me a hint on the whys at below?
> > The table:
> > test=# select * from texts;
> > title | a_text
> > --------------+-------------------------
> > A macskacicó | A blah blah macskacicónak.
> > The dark tower | Blah blah
> > (2 rows)
> > Now, I want to match 'macskacicó' WORD.
> > It works:
> > test=# select * from texts where title ~* E'macskacicó';
> > title | a_text
> > --------------+-------------------------
> > A macskacicó | A blah blah macskacicó.
> > (1 row)
> > But it would also macth 'macskacicónak' string:
> > test=# select * from texts where a_text ~* E'macskacicó';
> > title | a_text
> > --------------+----------------------------
> > A macskacicó | A blah blah macskacicónak.
> > (1 row)
> > Now, these do not work:
> > test=# select * from texts where title ~* E'\\mmacskacicó\\M';
>
> That works for me.
>
> > test=# select * from texts where title ~* E'\\<macskacicó\\>';
>
> What's that supposed to be doing?
>
> > test=# select * from texts where title ~* E'\\Wmacskacicó\\W';
>
> That shouldn't work because nothing follows that word. You'd need to
> match like this in that case:
>
> select * from texts where title ~* E'\\Wmacskacicó$';
>
> If you add something like a space or full-stop (period) after that
> word, it will match.
>
> Accented characters should match against \\w
>
> To prove it, try:
>
> select * from texts where title ~* E'\\Wmacskacic\\w';
>
> Regards
>
> Thom
>

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Thom Brown 2010-06-08 10:24:57 Re: Regexp match with accented character problem
Previous Message Thom Brown 2010-06-08 09:45:48 Re: Regexp match with accented character problem