Я довольно новичок в F #, но провел последние несколько недель, читая справочные материалы.Я хочу обработать предоставленную пользователем строку ввода, идентифицируя и разделяя составляющие элементы.Например, для этого ввода:
Отель XYZ: 6 ночей по 220EUR / ночь плюс налог в размере 17,5%
вывод должен выглядеть примерно как список кортежей:
[("XYZ", Word);(«Гостиница:», Слово);
(«6», Номер);(«Ночи», Word);
(«at», Оператор);(«220», Number);
(«EUR», CurrencyCode);("/", Оператор);(«ночь», слово);
(«плюс», оператор);(«17,5», номер);("%", Процентов);(«налог», Word)] * 1014 *
Поскольку я имею дело с пользовательским вводом, это может быть что угодно.Таким образом, ожидать от пользователей соблюдения грамматики не может быть и речи.Я хочу идентифицировать числа (могут быть целыми числами, числами с плавающей запятой, отрицательными ...), единицы измерения (необязательно, но могут включать физические единицы СИ или имперские единицы, коды валют, значения, такие как "ночь / с" в моем примере)математические операторы (в виде математических символов или слов, в том числе "at", "per", "of", "discount" и т. д.) и другие слова.
У меня сложилось впечатление, что я должен использовать активное сопоставление с образцом - это правильно?- но я не совсем уверен, как начать.Любые указатели на соответствующий справочный материал или подобные примеры были бы хорошими.