Разбить на лексемы - C#
Формулировка задачи:
Есть код с квадратным уравнением.Необходимо разбить его на лексемы и вывести каждую на новой строке.Гарантируется, что исходное выражение корректно.Помогите или хотя бы совет с чего начать. Как вариант дать пример простого когда с разбитием его на лексемы, дальше сам попробую.
Решение задачи: «Разбить на лексемы»
textual
Листинг программы
using System; using System.Text.RegularExpressions; namespace ConsoleApplication9 { class Program { static void Main() { string s = @"x^2+8x-16"; const string pattern = @"(.*)x\^2\s*([+-].*)x\s*([+-].*)"; var res = Regex.Match(s, pattern); Func<Group, int, int> convert = (g, i) => string.IsNullOrWhiteSpace(g.ToString()) ? i : int.Parse(g.ToString()); Console.WriteLine("a = {0}\nb = {1}\nc = {2}", convert(res.Groups[1], 1), convert(res.Groups[2], 1), convert(res.Groups[3], 0)); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д