Re: [Boost-bugs] [Boost C++ Libraries] #698: The case insensitive modifier doesn't work when followed by a character class

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #698: The case insensitive modifier doesn't work when followed by a character class
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-10-10 16:42:42


#698: The case insensitive modifier doesn't work when followed by a character
class
---------------------------+------------------------------------------------
  Reporter: nobody | Owner: johnmaddock
      Type: Bugs | Status: reopened
 Milestone: | Component: regex
   Version: Boost 1.45.0 | Severity: Problem
Resolution: | Keywords:
---------------------------+------------------------------------------------

Old description:

> {{{
> My name is Florin Trofin (ftrofin at _adobe_ dot com) and I work for
> Adobe Systems. We are using boost/regex 1.33.1 in one of our projects
> and we've encountered the following bug:
>
> The case insensitive modifier is supposed to make the string comparison
> case insensitive from the place at which it is encountered first till
> the end. In view of this, if we have "ABC abc aCb" as the text in which
> we will be doing search and if we have find string as "(?i)[bc]" then
> the expectation is that b/B/c/C will be found. But only b/c is found. If
> we have "(?i)a[bc]" as find string then ab/ac/AB/Ab/AC/Ac are found as
> expected. The only place which is having problem is when we specify
> character class[] immediately after case insensitive modifier "(?i)".
>
> We also have issues regarding character equivalence on Mac. Japanese
> character equivalence in general is not working i.e. if we have [[=x=]]
> where x is a Japanese character in hiragana or katakana then the
> equivalence is not matching correctly. Please let me know if you want me
> to open a separate bug on this issue.
>
> If you need more info please let me know. Thx!
>
> }}}

New description:

 {{{
 My name is Florin Trofin (ftrofin at _adobe_ dot com) and I work for
 Adobe Systems. We are using boost/regex 1.33.1 in one of our projects
 and we've encountered the following bug:

 The case insensitive modifier is supposed to make the string comparison
 case insensitive from the place at which it is encountered first till
 the end. In view of this, if we have "ABC abc aCb" as the text in which
 we will be doing search and if we have find string as "(?i)[bc]" then
 the expectation is that b/B/c/C will be found. But only b/c is found. If
 we have "(?i)a[bc]" as find string then ab/ac/AB/Ab/AC/Ac are found as
 expected. The only place which is having problem is when we specify
 character class[] immediately after case insensitive modifier "(?i)".

 We also have issues regarding character equivalence on Mac. Japanese
 character equivalence in general is not working i.e. if we have [[=x=]]
 where x is a Japanese character in hiragana or katakana then the
 equivalence is not matching correctly. Please let me know if you want me
 to open a separate bug on this issue.

 If you need more info please let me know. Thx!

 }}}

--
Comment (by johnmaddock):
 Confirmed.
-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/698#comment:6>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC