该行应为:
.
和减号-
,空格,下划线,斜线我已经写了以下Regex
模式:
string pattern = @"^[a-zA-Z0-9._\+\-\/\s]+$";
并且不满足第二个条件:
string s1 = "."; // or dot, space, underscore, slash
// Compare a string against the regular expression
var isOK = new Regex(pattern).IsMatch(s1); // true, but I would like to be false
您能告诉我创建Regex
模式的正确方法吗?
答案 0 :(得分:3)
首先,有一个字符集,其中包含[a-zA-Z0-9_]
- \w
。其次,您不需要转义+
内部字符集。
对于实际的解决方案,您可以使用positive lookahead来保证字符串中的某个字符(.*
)之后至少存在一个这样的字符:
@"^(?=.*[a-zA-Z\d])[\w.+\-\/\s]+$"