我是新手正则表达式并试图学习。我的要求是只考虑一个字符串,如果它只有小字母,绝对没有别的。 ex:abc,khj,sdfs是有效的单词,但是Abc,KHJ,123,$ bd无效。C#正则表达式跳过一些特殊字符
我写一个正则表达式如下:
private bool IsValid(string str)
{
Regex r = new Regex(@"[a-z][^<>%'=\$]");
Console.WriteLine(str + " : " + r.IsMatch(str).ToString());
return r.IsMatch(str);
}
但是,当我通过以下输入到该方法:
"a<>'b=b"
"abc"
"a$b"
"123"
"IHH"
它被识别abc
为有效的,但它也识别a$b
和a<>'b=b
作为有效的单词! (对于那些返回true
) 我想了解如何跳过a$b
和a<>'b=b ??
该方法应为它们返回false
。
请帮我理解。
感谢
我正在尝试这一个,它现在给我的每个输入“false”。即使对于abc,def等 – Micks 2012-07-22 17:43:05
更正,它的工作原理。我错误地传递了一个额外的空间作为该方法的输入。我修剪它,它的工作。非常感谢。 – Micks 2012-07-22 17:56:43