fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text.RegularExpressions;
  6.  
  7. public class Test
  8. {
  9. public static void Main()
  10. {
  11. var tekst = "№\tВопрос\tОтвет \n1 \tДата звонка \t08.08.2014 \n2 \tВремя звонка \t16:30 \n3 \tИмя оператора \tИванов Иван \n4 \tНомер телефона абонента \t84957777777 \n5 \tКто звонит \n6 \tНомер карты \n7 \tПрепарат \n8 \tТелефон \n9 \tКомментарий тест звонок ";
  12. var s = @"\p{Zs}*";
  13. var z = @"[^\r\n\t]+";
  14. var TdPattern = new Regex(
  15. $@"^{s}(\d+){s}\t{s}({z})(?:\t{s}({z}){s})?\r?$", // ^\p{Zs}*(\d+)\p{Zs}*\t\p{Zs}*([^\r\n\t]+)(?:\t\p{Zs}*([^\r\n\t]*)\p{Zs}*)?\r?$
  16. RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline);
  17. var result = TdPattern.Matches(tekst);
  18. foreach (Match m in result) {
  19. Console.WriteLine(m.Groups[1].Value);
  20. Console.WriteLine(m.Groups[2].Value);
  21. if (m.Groups[3].Success) Console.WriteLine(m.Groups[3].Value);
  22. Console.WriteLine("---------------");
  23. }
  24. }
  25. }
Success #stdin #stdout 0.05s 134720KB
stdin
Standard input is empty
stdout
1
Дата звонка 
08.08.2014   
---------------
2
Время звонка 
16:30  
---------------
3
Имя оператора 
Иванов Иван  
---------------
4
Номер телефона абонента 
84957777777  
---------------
5
Кто звонит   
---------------
6
Номер карты  
---------------
7
Препарат  
---------------
8
Телефон  
---------------
9
Комментарий 
тест звонок   
---------------