我试图让用户输入正好4个没有空格的字符......这就是我所拥有的:
.[^\s]{4}
但我输入的所有内容都表明它与正则表达式不匹配...
我哪里错了?
答案 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);