Регулярное выражение asp.net. Ввод не может содержать двойные пробелы - PullRequest
2 голосов
/ 23 марта 2010

Как я могу написать регулярное выражение в C #, чтобы проверить, что ввод не содержит двойных пробелов? Я использую проверку регулярных выражений. Однако я не знаю, что такое выражение проверки для получения результата.

"white snake"  : success
"white  snake" : fail

Ответы [ 4 ]

4 голосов
/ 23 марта 2010

Здесь у вас есть опция для регулярного выражения

^ ((?! \ S \ s).) * $

3 голосов
/ 23 марта 2010

Вы можете использовать следующее регулярное выражение .net для проверки предоставленного вами явного примера.

\ W + \ с {1} \ W + * * 1003

Это регулярное выражение состоит из трех частей, слева направо оно читается примерно так - любой символ слова, по крайней мере, один раз, за ​​которым следует только один пробел, за которым следует любой символ слова, по крайней мере, один раз. Таким образом, \ w + представляет любой символ слова хотя бы один раз, а \ s {1} представляет любой символ пробела только один раз.

В случае если кто-то вводит более двух слов, вы можете решить его, используя приведенное выше регулярное выражение, но с добавленным набором группирующих скобок и небольшим количеством кода для построения правильного числа вхождений этого шаблона .

Мы можем взять вышеупомянутое регулярное выражение и расширить его, чтобы искать любое количество вхождений этого шаблона или, другими словами, более двух слов. Например, если у вас есть три слова вместо двух, вам придется реализовать набор группирующих слов, чтобы явно указать, сколько раз этот шаблон должен отображаться в строке.

Например, если у нас есть слово «долина белой змеи» и мы хотим убедиться, что между каждым словом у него только один пробел, вы можете переписать регулярное выражение следующим образом:

(\ W + \ с {1} \ W +) {2}

Мы добавили групповые скобки и заявили, что выражение оценивается как true, только если этот шаблон найден ровно два раза {2}.

Наслаждайтесь!

1 голос
/ 23 марта 2010

Используйте регулярное выражение {2,} (первый символ этого регулярного выражения - пробел).

0 голосов
/ 23 марта 2010

Поиск во входных данных для подстроки " ".Если он найден, ввод неверен.

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