正则表达式中的c#错误

时间:2014-07-30 12:45:37

标签: c# .net regex

我正在尝试找到一个正则表达式,其中输入只是阿拉伯语,空格和数字(但没有预定义的顺序)

Regex regex = new Regex("[\u0600-\06ff\\s0-9]*");

当输入为4时,这是例外:

parsing "[؀-

{"parsing \"[؀-\06ff\\s0-9]*\" - [x-y] range in reverse order."}

1 个答案:

答案 0 :(得分:3)

如果使用verbatim-string-literal来跟踪代码行以验证整个字符串是否只包含阿拉伯字母,空格和数字呢?

Regex regex = new Regex(@"^[\u0600-\u06ff\s\d]+$");

或者使用regluar string literal:

Regex regex = new Regex("^[\\u0600-\\u06ff\\s\\d]+$");

通过删除^(字符串的开头)和$(字符串的结尾),表达式将搜索一个或多个仅包含阿拉伯字母,空格和数字的字符串,而不是验证整个字符串字符串仅包含阿拉伯字母,空格和数字(并且不为空)。