Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#正则表达式跳过一些特殊字符_C#_Regex - Fatal编程技术网

C#正则表达式跳过一些特殊字符

C#正则表达式跳过一些特殊字符,c#,regex,C#,Regex,我是Regex的新手,正在努力学习。我的要求是只考虑一个字符串是有效的,如果它只有小字母,绝对没有别的。 例:abc、khj、SDF是有效单词,但abc、khj、123、a$bd无效 我正在写一个正则表达式,如下所示: private bool IsValid(string str) { Regex r = new Regex(@"[a-z][^<>%'=\$]"); Console.WriteLine(str + " : " + r.IsMatch(str).T

我是Regex的新手,正在努力学习。我的要求是只考虑一个字符串是有效的,如果它只有小字母,绝对没有别的。 例:abc、khj、SDF是有效单词,但abc、khj、123、a$bd无效

我正在写一个正则表达式,如下所示:

 private bool IsValid(string str)
 {
    Regex r = new Regex(@"[a-z][^<>%'=\$]");
    Console.WriteLine(str + " : " + r.IsMatch(str).ToString()); 
    return r.IsMatch(str);
 }
private bool有效(字符串str)
{
正则表达式r=新正则表达式(@“[a-z][^%'=\$]”);
Console.WriteLine(str+“:”+r.IsMatch(str.ToString());
返回r.IsMatch(str);
}
但当我将以下输入传递给此方法时:

"a<>'b=b"
 "abc"
 "a$b"
"123"
"IHH"
“a'b=b”
“abc”
“a$b”
"123"
“IHH”
它将
abc
识别为有效词,但也将
a$b
a'b=b
识别为有效词!(为这些返回
true
) 我想了解如何跳过
a$b
a'b=b???
方法应该为它们返回
false

请帮我理解


谢谢你的正则表达式看起来像

var pat = /^[a-z]+$/;
好的参考:


尝试以下方法:
^[a-z]+$

使用具有适当模式的此类方法:

private bool IsValid(string str)
 {
    Regex r = new Regex(@"^[a-z]+$");
    Console.WriteLine(str + " : " + r.IsMatch(str).ToString()); 
    return r.IsMatch(str);
 }

我正在尝试这一个,它给我“假”的每一个输入现在。即使对于abc、def等校正,它也能工作。我错误地传递了一个额外的空格作为方法的输入。我把它修剪了一下,效果很好。非常感谢。我正在尝试这一个,它给我的每一个输入“假”。即使对于abc、def等校正,它也能工作。我错误地传递了一个额外的空格作为方法的输入。我把它修剪了一下,效果很好。非常感谢。对不起,不行。它为每个输入(甚至abc、def等)提供false