MonoTouch中正则表达式的问题

时间:2011-03-07 16:10:43

标签: xamarin.ios

我的MonoTouch应用程序中的正则表达式存在问题。似乎忽略了RegexOptions.CultureInvariant,并且始终使用设备默认文化来评估表达式。这是一个示例:

Regex rx_I = new Regex(@"II", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
Regex rx_i = new Regex(@"ii", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);

string aString = "Ii";

Match match;

match=rx_I.Match(aString);
if(match.Success){
    Console.WriteLine(match.Value);
}

match=rx_i.Match(aString);
if(match.Success){
    Console.WriteLine(match.Value);
}

当“地区格式”设置为“美国”时,两个匹配都成功。如果它被设置为'土耳其',它们都会失败(因为大写'我'不是'我'而小写'我'不是'我'用土耳其语)。我期望设置RegexOptions.CultureInvariant可以解决这个问题,但显然它没有。

我做错了吗?

由于

0 个答案:

没有答案