我的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可以解决这个问题,但显然它没有。
我做错了吗?
由于