我有正则表达式只允许点和拉丁字母。但这个表达式错过了存在空间的字符串。在我的代码中,我需要看到真假。但我看到真实而真实。怎么修好?
String str1="asdfgsadgs";
String str2 = "asd fgsx cgvbn adgs";
bool res = Regex.Match(str1, @"[a-zA-Z]|.").Success;
bool res2 = Regex.Match(str2, @"[a-zA-Z]|.").Success;
Console.WriteLine(res);
Console.WriteLine(res2);
答案 0 :(得分:1)
我想你想要这个正则表达式
^[a-zA-Z]+$
答案 1 :(得分:1)
您的第一个问题是正则表达式中的.
通常表示“任何字符”。因此[a-zA-Z]|.
表示“字母或任何字符”,并且与空格匹配。
您需要
.
,在\
前面放置@"[a-zA-Z]|\."
,或@"[a-zA-Z.]"
正如Benoit所指出的那样,你的第二个问题是你的正则表达式询问“输入中是否匹配此类的任何字符”,你真的想问“做输入中的每个字符都与类“匹配”。我不会在这里复制他的答案。