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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 11:46   #1
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию Regex

Может ктот дать инфу по етому а то ее куча а я не пойму.
Вот как работают ети примеры
Код:
  Regex rx = new Regex(@"^-?\d+(\.\d{2})?$");
  	    
  	   // Define some test strings.
  	   string[] tests = {"-42", "19.99", "0.001", "100 USD", 
  	                     ".34", "0.34", "1,052.21"};
  	    
  	   // Check each test string against the regular expression.
  	   foreach (string test in tests)
  	   {
  	      if (rx.IsMatch(test))
  	      {
  	         Console.WriteLine("{0} is a currency value.", test);
  	      }
  	      else
  	      {
  	         Console.WriteLine("{0} is not a currency value.", test);
  	      }
  	   }
Код:
 string[] id = { "123-45-6789", 
                "1234-5-6789", 
                "547-12-6346", 
                "54-12-5623",
                "3513-15134",
                "608-12-61347",
                "8608-12-6134",
                "608-12-6134" };
    
        for ( int i = 0; i < id.Length; i++ )
            if ( Regex.IsMatch( id[i], @"\d{3}-\d{2}-\d{4}" ) )
                System.Console.WriteLine( id[i] );
Код:
  Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled | RegexOptions.IgnoreCase);

        // Define a test string.        
        string text = "The the quick brown fox  fox jumped over the lazy dog dog.";

        // Find matches.
        MatchCollection matches = rx.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}", 
                          matches.Count, 
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",  
                              groups["word"].Value, 
                              groups[0].Index, 
                              groups[1].Index);
        }
Cpluser вне форума Ответить с цитированием
Старый 27.04.2010, 14:52   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Цитата:
Сообщение от Cpluser Посмотреть сообщение
Код:
 string[] id = { "123-45-6789", 
                "1234-5-6789", 
                "547-12-6346", 
                "54-12-5623",
                "3513-15134",
                "608-12-61347",
                "8608-12-6134",
                "608-12-6134" };
    
        for ( int i = 0; i < id.Length; i++ )
            if ( Regex.IsMatch( id[i], @"\d{3}-\d{2}-\d{4}" ) )
                System.Console.WriteLine( id[i] );
Взял самый простой пример на рассмотрение.
\d{количество} обозначает поиск шаблону, где идут подряд некое количество цифр.
В этом пример поиск идет по шаблону \d{3}-\d{2}-\d{4}, т.е. 3 цифры, затем знак тире, затем 2 цифры, знак тире, 4 цифры.
В итоге строка 123-45-6789 удовлетворяет твоему запросу, а 1234-5-6789 - нет, и т.д.


Код:
 Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
- шаблон для поиска повторяющихся слов.
Вот очень классная и простая статья по Regex: http://www.codeproject.com/KB/dotnet/regextutorial.aspx

Последний раз редактировалось Hollander; 27.04.2010 в 14:57.
Hollander вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Regex CWD Общие вопросы .NET 6 14.11.2009 23:42