为什么这个Regex返回false?

时间:2018-04-18 21:52:44

标签: c#

我想知道为什么会失败。我之前从StackOverflow得到了这个并修改它以满足我的需求。此函数的目标是清理字符串。我只对带有基本标点符号的字母数字感兴趣。

    public static Boolean IsAlphaNumeric(string text)
    {
        Regex rg = new Regex(@"^[a-zA-Z0-9\s\"",.;?!']* $");

        return rg.IsMatch(text);
    }

我检查了类似" bla,bla bla"它返回false。这是为什么?

1 个答案:

答案 0 :(得分:2)

*$之间有一个空格,这意味着在验证字符串中的所有字符与集合[a-zA-Z0-9\s\"",.;?!']匹配后,它会在结束之前预期一个空格。串。如果你给测试字符串添加一个空格" bla,bla bla"它将返回true