为什么我的正则表达式在我的数据中不正确?

时间:2016-12-22 18:12:04

标签: c# regex

我是正则表达式的新手,写下这个正则表达式:

if (Regex.IsMatch(txtName, @"^[آ-ی]$"))
            {
                int x = 0;
            }
            else
            {
                message += Environment.NewLine + "فیلد نام معتبر نمی باشد";

            }


txtName value is :ابراهیم


但是当阻止运行时,否则分段运行,为什么?谢谢。

2 个答案:

答案 0 :(得分:1)

INDEX()

我认为你不想只使用一个字符串加工字符串,所以试试

@"^[آ-ی]$"

答案 1 :(得分:0)

您可以在此处使用Named Blocks表示阿拉伯字符。

示例:

Regex.IsMatch(txtName, @"(\p{IsArabic}+(\s)?)+");

这将匹配一个或多个阿拉伯字符的模式,后跟零个或一个空格字符一次或多次。测试为使用输入字符串。

以下是MSDN with additional examples的更深入参考。