当与unicode正则表达式标志NumberFormatInfo provider = new NumberFormatInfo();
provider.NumberDecimalSeparator = ",";
string doubleString = "125,231";
double actualDouble = Convert.ToDouble( doubleString, provider );
一起使用时,有proposal更新某些正则表达式字符类,如\w
,\d
,\b
等。 (相关的ES讨论thread)。
阅读该线程,提出了一些非常好的参数,为什么u
不应该被搞乱,其中最重要的是JavaScript不能将非ASCII数字字符强制转换或强制转换为数字。但据我所知,同样的逻辑并不适用于\d
。
是否有令人信服的技术原因或边缘情况我没有在这里看到? 毕竟我们正在谈论选择加入标志。
我要问的部分原因是,在其他所有语言中,我都熟悉编写与任何unicode单词字符匹配的简单正则表达式的可能性,而在JavaScript中,必须基本上指定代码点范围。