Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Простое регулярное выражение  [new]
polin11
Member

Откуда:
Сообщений: 38
Нужно, проверить, что в строке НЕТ символов :!?><&#% при помощи регулярных выражений,
пробовал следующим образом, не работает (хотя ИХМО должно корректно проверять)
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("---------");
        }
    }
}
4 окт 17, 01:34    [20840670]     Ответить | Цитировать Сообщить модератору
 Re: Простое регулярное выражение  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17596
Будь проще и люди к тебе потянутся )

            string s="cts!";
            string pattern=@"[:!?><&#%]";
            if (!Regex.IsMatch(s, pattern, RegexOptions.IgnoreCase))
                 Console.WriteLine("++++++++");
            else
                Console.WriteLine("---------");
4 окт 17, 09:39    [20840962]     Ответить | Цитировать Сообщить модератору
 Re: Простое регулярное выражение  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 2395
банальное сканирование работает быстрее:
        public static bool CheckRestriction(string value)
        {
            foreach (var chr in value)
            {
                if (chr == ':' 
                 || chr == '!' 
                 || chr == '?' 
                 || chr == '>' 
                 || chr == '<' 
                 || chr == ' ' 
                 || chr == '&' 
                 || chr == '#' 
                 || chr == '%')
                {
                    return false;
                }
            }
            return true;
        }
4 окт 17, 11:39    [20841470]     Ответить | Цитировать Сообщить модератору
 Re: Простое регулярное выражение  [new]
refreg
Member

Откуда: Саратов
Сообщений: 726
polin11,
^[^:!?><&#%]+$
4 окт 17, 13:41    [20842030]     Ответить | Цитировать Сообщить модератору
 Re: Простое регулярное выражение  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 142370
Roman Mejtes
банальное сканирование работает быстрее:
        public static bool CheckRestriction(string value)
        {
            foreach (var chr in value)
            {
                if (chr == ':' 
                 || chr == '!' 
                 || chr == '?' 
                 || chr == '>' 
                 || chr == '<' 
                 || chr == ' ' 
                 || chr == '&' 
                 || chr == '#' 
                 || chr == '%')
                {
                    return false;
                }
            }
            return true;
        }

Привет Бомбею!

string str = @"Нужно, проверить, что в строке НЕТ символов: !?>< &#% при помощи регулярных выражений, 
пробовал следующим образом, не работает (хотя ИХМО должно корректно проверять)";
       
            char[] anyOf = (":!?><&#%").ToCharArray();
            int index  = str.IndexOfAny(anyOf);
5 окт 17, 10:57    [20844513]     Ответить | Цитировать Сообщить модератору
 Re: Простое регулярное выражение  [new]
Изопропил
Member

Откуда:
Сообщений: 30620
Cat2
Привет Бомбею!

нынче он Мумбай зовётся
5 окт 17, 11:02    [20844530]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить