Почему группы в регулярном выражении не работают правильно
Match match = Regex.Match(textBox1.Text, @"(\d)*(\d)"); MessageBox.Show(match.Groups[1].Value.ToString()); double x2 = Convert.ToDouble(match.Groups[1].Value.ToString()); double x1 = Convert.ToInt32(match.Groups[2].Value.ToString()); textBox1.Text = Regex.Replace(textBox1.Text, @"\d*\d", (x1 * x2).ToString());
Что я уже пробовал:
Я пытался написать математический парсер и поймал проблему с группами регулярных выражений например
текстовый.Текст = 2*2
и совпадение.Группы[1].Значение пустое.
Dave Kreskowiak
Будет ли это работать или нет, зависит от сложности выражений, которые вы планируете поддерживать. Если это не более чем "некоторое значение * некоторое значение", то вам может сойти с рук набор регулярных выражений, чтобы захватить числа и сделать математику.
Если вы планируете что-то более сложное, регулярные выражения не пойдут на это за вас.