0

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

我试过代码

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

但它不起作用!

4

1 回答 1

3

字符串文字中的Unicode 转义序列以开头\,而不是/

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

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

相同的字符转义在正则表达式中也有效。因此,以下 2 个解决方案等效于上述解决方案:

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

在这两种情况下,字符串(如正则表达式引擎所见)是^[\u0400-\u04FF]+$. 最终效果是相同的,因为\u0400and\u04FF被正则表达式引擎解释为Ѐand ӿ

于 2013-09-17T14:37:09.973 回答