Как я могу создать регулярное выражение, которое требует 4 символа и без пробелов? - PullRequest
3 голосов
/ 11 августа 2009

Я пытаюсь сделать так, чтобы пользователь вводил ровно 4 символа без пробелов ... вот что у меня есть:

.[^\s]{4}

но все, что я ввожу, говорит о том, что оно не соответствует регулярному выражению ...

Куда я иду не так?

Ответы [ 7 ]

14 голосов
/ 11 августа 2009

Почему перед ним стоит дополнительный .? Это будет соответствовать отдельному символу до того, как будут подсчитаны ваши "четыре не пробела".

Возможно, вы также хотите связать его с началом и концом строки, поэтому:

^[^\s]{4}$
10 голосов
/ 11 августа 2009

Вы делаете это более сложным, чем нужно, и используете \S, а не \s, поэтому вы не подходите пробелы Я думаю, что это должно работать для вас:

^[\S]{4}$

Определение решения:

^ - начинается с

[/ S] - заглавная 'S' означает отсутствие пробела

{4} - совпадать 4 раза

$ - конец строки

1 голос
/ 11 августа 2009

В Java:

[^\s]{4,4}
1 голос
/ 11 августа 2009
\S{4}

будет соответствовать 4 непробельным символам. Если вы используете c # regex, я настоятельно рекомендую Expresso .

0 голосов
/ 06 марта 2019

Это может быть полезно, если кто-то ищет только 4 символа, без цифр, пробелов или специальных символов

var regexp = /^([a-zA-Z]){4}$/;
console.log(regexp);
var isValid = regexp.test('abcd');
console.log("Valid: " + isValid);
0 голосов
/ 11 августа 2009

попробовать txt2re.com работает для меня.

0 голосов
/ 11 августа 2009

Что-то вроде / ^ [^ \ s] {4} $ /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...