我写了一个正则表达式来匹配以下条件
- 任何数字 (0-9)
- 连字符
- 空格
- 以任意顺序
- 长度在 10 到 25 之间
([0-9\-\w]{10,25})
我用它来检测支付卡号,所以它有效:
Regex.IsMatch("34343434343434", "([0-9\\-\\w]{10,25})"); // true
但这也有效:
Regex.IsMatch("LogMethodComplete", "([0-9\\-\\w]{10,25})"); // true
我做错了什么?
这是 C#
请您参考如下方法:
看看Regular Expression Language - Quick Reference , 字符类部分。
\w 匹配任何单词字符,包括下划线,不包括空格。
要匹配空格,可以使用\s。
要匹配数字,可以使用\d。
