C#中的正则表达式问题isMatch()方法

时间:2010-11-29 11:13:51

标签: c# regex

我正在尝试使用正则表达式匹配值,但我无法理解为什么后续程序将 false 作为输出返回。

Regex validateInputString = new Regex("^(\\d)*([a-z[A-Z]])+$");
    Console.WriteLine(validateInputString.IsMatch("343sdf"));

有人可以告诉我吗?

2 个答案:

答案 0 :(得分:1)

[a-z[A-Z]]看起来不太正确。你的意思是[a-zA-Z]

答案 1 :(得分:0)

你不能在角色类中拥有character classes。如果您想匹配字母a-zA-Z中的任何一个,只需使用一个字符类[a-zA-z]即可。 E.g。

Regex validateInputString = new Regex("^(\\d)*([a-zA-Z])+$");
Console.WriteLine(validateInputString.IsMatch("343sdf"));

上面的代码打印True