这是我的代码:
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";
}
}
我设法删除了所有数字。 我现在想知道,我怎么能这样做:
删除数字。
仅允许使用小写字母。
删除任何类型的特殊字符(_ +ù$é)
我该怎么办?
答案 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");
}
编辑:
上述代码段会在以下情况下失败;
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