正则表达式删除数字,只允许小写字母,删除特殊字符

时间:2018-05-10 12:13:04

标签: c# regex wpf

这是我的代码:

private void txtMot_KeyUp(object sender, KeyEventArgs e)
{

    /* Clear message */
    txtMessage.Clear();


    Regex regex = new Regex(@"\d+");
    Match match = regex.Match(txtMot.Text);

    if (match.Success)
    {
        /* Text in red*/
        txtMessage.Foreground = Brushes.Red;
        /* Message text*/
        txtMessage.Text = "Only letters";
    }
}

我设法删除了所有数字。 我现在想知道,我怎么能这样做:

  • 删除数字。

  • 仅允许使用小写字母。

  • 删除任何类型的特殊字符(_ +ù$é)

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您只需使用正则表达式[a-z]并使用不同的数据集进行测试,因为它只接受lowercase letters

public static void Main()
{
    string test = "_+ù$é";   //change this to any set of test data
    Regex regex = new Regex(@"[a-z]");
    Match match = regex.Match(test);

    if (match.Success)
    {
      Console.WriteLine("Matched");
    }
    else
      Console.WriteLine("Not Matched");

}

dotNetFiddle

编辑:

上述代码段会在以下情况下失败;

string test = "_+ù$é abc";

^因为它只包含特殊字母和小写字母,如果你只想接受小写字母,那么

替换这个:

Regex regex = new Regex(@"[a-z]");

使用这种模式:

Regex regex = new Regex(@"^([a-z]{1,25})$"); //this makes sure the string 
                                            // is only of lowercase 
                                           // letters and does not contain any digits
                                          // or special chars

dotNetFiddle