Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2017, 01:32   #1
polin11
Форумчанин
 
Регистрация: 07.06.2015
Сообщений: 164
По умолчанию Простое регулярное выражение

Нужно, проверить, что в строке НЕТ символов :!?><&#% при помощи регулярных выражений,
пробовал следующим образом, не работает (хотя ИХМО должно корректно проверять)
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string s="cts!";
            string pattern=@"^.*[^:!?><&#%]*.*$";
           //или string pattern=".*[^:!?><&#%]*.*";
             if (Regex.IsMatch(s, pattern, RegexOptions.IgnoreCase))
                 Console.WriteLine("++++++++");
            else
                Console.WriteLine("---------");
        }
    }
}
polin11 вне форума Ответить с цитированием
Старый 04.10.2017, 10:51   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

в такой формулировке решение устроит?

Код:
            string s="cts!";
            string pattern=@"[:!?><&#%]";
             if (Regex.IsMatch(s, pattern, RegexOptions.IgnoreCase))
                 Console.WriteLine("в строке есть запрещённые символы");
            else
                Console.WriteLine(" всё чисто!");
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2017, 19:58   #3
progrevgenij
Новичок
Джуниор
 
Регистрация: 04.10.2017
Сообщений: 1
По умолчанию

Можно еще вот так, и будет работать:
Код:
string pattern=@"^.*[:!?><&#%]+.*$";
всего чуток изменил шаблон
progrevgenij вне форума Ответить с цитированием
Старый 05.10.2017, 08:59   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

на самом деле варивант Сергея лучше, он остановится на первом вхождении, и не будет прогонять всю строку всегда.
(аналог Linq=>Any)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение cashmail PHP 3 02.05.2014 14:05
Регулярное выражение! cashmail PHP 4 12.04.2012 15:36
регулярное выражение Alexandr555 Общие вопросы Delphi 3 07.04.2012 23:18
Регулярное выражение kpachbiu PHP 2 08.02.2011 21:36
Нужно простое регулярное выражение rodovsky Помощь студентам 3 18.11.2009 21:36