Home Dashboard Directory Help
Search

No way to get the Regex class to use recent Unicode tables by Porges


Status: 

Closed
 as Won't Fix Help for as Won't Fix


2
0
Sign in
to vote
Type: Bug
ID: 671993
Opened: 5/31/2011 11:13:09 PM
Access Restriction: Public
Moderator Decision: Sent to Engineering Team for consideration
1
Workaround(s)
view
0
User(s) can reproduce this bug

Description

For example, because the compatibility method char.GetUnicodeCategory returns DashPunctuation (= Pd) for '\u00ad', and not Format (= Cf), the regex "\p{Cf}" does not match "\u00ad".

CharUnicodeInfo does return the correct value, but there is no way to get the Regex class to use it (or whatever the internal data structure is).
Details
Sign in to post a comment.
Posted by Microsoft on 6/20/2011 at 8:01 PM
Hi Porges!

Thanks for bringing up this interesting issue. We are always grateful when customers point towards potential concerns - this helps us ensuring the quality of the .NET Framework and driving the product into the right direction.

Indeed, you have discovered a genuine problem with the system.
We are already aware of this and it is on our list of prioritised RegEx improvements.

Unfortunately we are not able to attend to this matter in the current release, but be certain that we keep it on the books for the future.
I thank you for your time and your contribution,

Greg
(Software Engineer on the .NET Base Class Libraries team)
Posted by MS-Moderator08 [Feedback Moderator] on 6/1/2011 at 2:43 AM
Thank you for reporting the issue.
We are routing this issue to the appropriate group within the Visual Studio Product Team for triage and resolution.These specialized experts will follow-up with your issue.
Posted by MS-Moderator01 on 5/31/2011 at 11:49 PM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.
Posted by Viorel_ on 6/1/2011 at 12:14 AM
Consider the following expression:

    Regex.IsMatch( "(?:\\p{Cf}|\u00AD)", "\u00ad" ).