如何检查正则表达式验证器最小字符而不计数空格

时间:2012-02-06 08:41:58

标签: asp.net regex

我的意思是这样的

" T"这不是3个字符 "T T"这不是3个字符 " T "它不是。
"TTT"这是真的 " TTT"是真的 " TT T"是真的

如何使用正则表达式检查

我正在尝试"^[\s]{3,100}$",但它无法正常工作

感谢。

3 个答案:

答案 0 :(得分:1)

我假设您要测试至少三个非空白字符。在这种情况下,这种模式应该有效。 ^\s*(\S\s*){3,100}$

    [Test]
    public void Test()
    {
        Regex pattern = new Regex(@"^\s*(\S\s*){3,100}$");

        Assert.IsFalse(pattern.IsMatch(" T"));
        Assert.IsFalse(pattern.IsMatch("T T"));
        Assert.IsFalse(pattern.IsMatch(" TT"));
        Assert.IsTrue(pattern.IsMatch("TTT"));
        Assert.IsTrue(pattern.IsMatch(" TTT"));
    }

您的问题中不清楚的是,是否允许使用空格,或者如果存在任何空白区域,则匹配失败。

答案 1 :(得分:0)

我想在Java中说因为我不熟悉asp.net(我很确定你在字符串上有长度和在asp.net中替换所有(正则表达式,替换)):

System.out.println(input.length() == input.replaceAll("\\s", "").length());

答案 2 :(得分:0)

您可以使用正则表达式/(\w)\1{2,}/匹配任何字符,然后在JavaScript中使用两个或多个相同的字符:(您必须转换为ASP.NET)

a = [" T ", "  T", "T  ", "TTT", "TTAT"]

for(i=0;i<a.length;i++)
  console.log(i, a[i], a[i].match(/(\w)\1{2,}/) != null)