RegularExpressionValidator的ValidationExpression仅匹配西里尔字符(bulgarianalphabet)

时间:2013-09-17 14:31:29

标签: asp.net regex

我需要一个正则表达式,我的RegularExpressionValidator只匹配西里尔字母(保加利亚字母)

我尝试了代码

            rev.ValidationExpression = "^[/u0400-/u04FF]+$";

但它不起作用!

1 个答案:

答案 0 :(得分:3)

Unicode escape sequence中的{p> string literal\开头,而不是/

rev.ValidationExpression = "^[\u0400-\u04FF]+$";

在这种情况下,字符串(由正则表达式引擎看到)为^[Ѐ-ӿ]+$。转义序列由编译器解释。

相同的character escape在正则表达式中也有效。所以低于2的解决方案相当于上面的解决方案:

rev.ValidationExpression = "^[\\u0400-\\u04FF]+$";
rev.ValidationExpression = @"^[\u0400-\u04FF]+$";

在这两种情况下,字符串(由正则表达式引擎看到)为^[\u0400-\u04FF]+$。最终效果是相同的,因为正则引擎将\u0400\u04FF解释为Ѐӿ