The last time I checked, they were significantly different in Unicode support. Ruby in 1.9, at least, has very limited Unicode support. I believe that one or two Unicode properties can be supported at this time. Probably the general categories and possibly the scenarios were the two that I think of.
Python has more and more Unicode support at the same time. Python seems to meet the requirements of RL1.2a "Compatibility Properties" from UTS # 18 in Unicode Regular Expressions .
However, Matthew Barnett (mrab) has developed a pretty good Python library that finally adds a couple of Unicode properties to Python regular expressions. It supports the two most important of them: general categories and script properties. It has other intriguing features. It deserves good publicity.
I donβt think that Ruby or Python supports Unicode so well, although more and more is done every day. In particular, however, neither one nor the other meets even the level 1 requirement for Unicode regular expressions given above. For example, RL1.2 requires support for at least 11 properties: General_Category, Script, Alphabetic, Uppercase, Lowercase, White_Space, Noncharacter_Code_Point, Default_Ignorable_Code_Point, ANY, ASCII, and ASSIGNED .
I think that Python only allows you to get to some of them, and only in a roundabout way. Of course, there are many, many other properties besides these 11.
When you are looking for Unicode support, in Regular Expressions, of course, there is not only UTS # 10, although this question is the most important for this question, and neither Ruby nor Puython correspond to level 1. Other very important aspects of Unicode are UAX # 15, UAX # 14, UTS # 18, UAX # 11, UAX # 29 and, of course, decisive UAX # 44. I know that Python has libraries for at least a couple of them. I do not know that they are standard.
But when it comes to supporting regular expressions, there are richer alternatives than just these two, you know. :)