На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > РегЭкспы
      Здрасте всем!

      Кто в регулярных выражениях здорово разбирается, подскажите пожалуйста:
      на входе имеется набор строк (на самом деле внутри одной строки, .т.е. просто присутствуют '\n') вида

      CollapsedWrap disabledLine numbers off
      <br>1. some text some text some text some text<br>some text some text some text some text<br><br>2. some text some text some text some text<br>some text some text<br><br>и.т.д..................<br>


      Надо получить коллекцию строк, где каждый элемент соответствует тексту одного абзаца (начинающегося с "number. "). Какое должно быть выражение?
      "(^[0-9]+\.?\x20+.+)" выбирает весь текст с первого пункта до конца. Как ограничить его началом следующего пункта?

      Спасибо.
        Думаю, лучше сюда RegExp
          Хм, тишина. Может нужно так сделать:
          Up. Актуально.
            попробуйте
            Цитата
            \x20\d(.*?)


            Добавлено
            ExpandedWrap disabled
              using System;
              using System.Text.RegularExpressions;
               
              namespace ConsoleApplication1
              {
                  class Program
                  {
                      static void Main(string[] args)
                      {
                          string pattern = @"\x20\d(.*?)";
                          string text = "\n1. some text some text some text some text\nsome text some text some text some text\n2. some text some text some text some text\nsome text some text\n";
                          MatchCollection matches;
               
                          Regex defaultRegex = new Regex(pattern);
                          // Get matches of pattern in text
                          matches = defaultRegex.Matches(text);
                          Console.WriteLine("Parsing '{0}'", text);
                          // Iterate matches  
                          for (int ctr = 0; ctr < matches.Count; ctr++)
                              Console.WriteLine("{0}. {1}", ctr, matches[ctr].Value);
                          Console.ReadKey();
                      }
                  }
              }
            Сообщение отредактировано: Besha -
              Цитата sad but true @
              <br>1. some text some text some text some text<br>some text some text some text some text<br><br>2. some text some text some text some text<br>some text some text<br><br>и.т.д..................<br>



              Цитата sad but true @
              просто присутствуют '\n'





              <br> вижу, а \n никак не вижу. :-?


              Если просто разделить на куски начинающиеся с цифры, то можно так:

              ExpandedWrap disabled
                \d\D*[^\d]


              Как Беша уже делал:

              ExpandedWrap disabled
                            string pattern = @"\d\D*[^\d]";//"\x20\d(.*?)";
                            string text = "<br><br>1. some text some text some text some text\nsome text some text some text some text<br><br>2. some text some text some text some text";
                            MatchCollection matches;
                 
                            Regex defaultRegex = new Regex(pattern);
                            // Get matches of pattern in text
                            matches = defaultRegex.Matches(text);
                            Console.WriteLine("Parsing '{0}'", text);
                            // Iterate matches  
                            for (int ctr = 0; ctr < matches.Count; ctr++)
                                Console.WriteLine("{0}. {1}", ctr, matches[ctr].Value);
                            Console.ReadKey();
                Прикреплённый файлПрикреплённый файлRegExp.rar (4,11 Кбайт, скачиваний: 306)
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0253 ]   [ 17 queries used ]   [ Generated: 27.04.24, 10:32 GMT ]