我有一个正则表达式模式,应该允许所有字母数字字符,-
,_
,.
和空格
"[A-Za-z0-9-_. ]+"
我正在尝试使用Regex.IsMatch
针对此正则表达式验证字符串,但它返回true
。为什么呢?
string pattern = "[A-Za-z0-9-_. ]+";
string input = "rtgfd&**((&";
bool isMatch = Regex.IsMatch(input, pattern);
// isMatch is true, why?
答案 0 :(得分:4)
匹配,因为您的字符串确实包含[A-Za-z0-9-_. ]
集中的一个或多个字符。如果您只想 ,请将您的模式更改为:
string pattern = "^[A-Za-z0-9-_. ]+$";
它将强制模式从字符串的开头到结尾匹配。