Как написать Regex для шаблона, например, серии Number и String, разделенных пробелом. Pattern -> n <space>строка - PullRequest
0 голосов
/ 15 октября 2019

Рассмотрим шаблон:

7 "Ошибка" 6 "Зарезервировано" 2 "Работает" 1 "Запуск" 0 "Стоп"

Я хочу написать регулярное выражение для построения значения ключапара, используя число в качестве ключа и строку рядом с ним в качестве значения.

Итак, для приведенного выше примера я хочу, чтобы мой вывод был следующим:

  • Значение ключа

  • 7 Ошибка
  • 6 Зарезервировано
  • 2 Работает
  • 1 Запуск
  • 0 Стоп

1 Ответ

0 голосов
/ 15 октября 2019

Попробуйте следующее:

using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = "7 \"Fault\" 6 \"Reserved\" 2 \"Running\" 1 \"Cranking\" 0 \"Stop\"";
            string pattern = "(?'key'\\d+)\\s+\"(?'value'[^\"]+)\"";

            MatchCollection matches = Regex.Matches(input, pattern);

            foreach (Match match in matches.Cast<Match>())
            {
                Console.WriteLine("{0} {1}", match.Groups["key"].Value, match.Groups["value"].Value); 
            }
            Console.ReadLine();
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...