如何创建需要4个字符且没有空格的正则表达式?

时间:2009-08-11 17:55:39

标签: c# asp.net regex validation

我试图让用户输入正好4个没有空格的字符......这就是我所拥有的:

.[^\s]{4}

但我输入的所有内容都表明它与正则表达式不匹配...

我哪里错了?

7 个答案:

答案 0 :(得分:14)

为什么前面有额外的.?在你的“四个非空格”计算之前,这将匹配一个单独的角色。

您可能还想将其绑定到字符串的开头和结尾,所以:

^[^\s]{4}$

答案 1 :(得分:10)

您使用\S而不是\s使其变得更加复杂,因此您不会匹配空格。我认为这对你有用:

^[\S]{4}$

解决方案的定义:

^ - 以

开头

[/ S] - 首都'S'意味着没有空格

{4} - 匹配4次

$ - 字符串结尾

答案 2 :(得分:1)

\S{4}

将匹配4个非空白字符。如果您使用的是c#regex,我强烈推荐Expresso

答案 3 :(得分:1)

在Java中:

[^\s]{4,4}

答案 4 :(得分:0)

/ ^ [^ \ s] {4} $ /

之类的东西

答案 5 :(得分:0)

尝试txt2re.com为我工作。

答案 6 :(得分:0)

如果某人只查找4个字符,没有数字,空格或特殊字符,这可能会有所帮助

var regexp = /^([a-zA-Z]){4}$/;
console.log(regexp);
var isValid = regexp.test('abcd');
console.log("Valid: " + isValid);