using System;
using System.IO;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
String Expression = "2 * 3";
Regex regEx = new Regex(@"([+-]?\d+\.*\d*[eE][+-]?\d+|[-+]?\d+\.*\d*)\s*([/*+-])\s*(-?\d+\.*\d*[eE][+-]?\d+|-?\d+\.*\d*)");
Expression = regEx.Replace(Expression,Repl);
Console.WriteLine(Expression);
}
public static string Repl(Match m)
{
double result = Convert.ToDouble(m.Groups[3].Value);
result = Convert.ToDouble(m.Groups[3].Value) / 100 * 2;
if (result < 0 || m.Index == 0)
return m.Value.Replace(m.Groups[3].Value, result.ToString());
else
return m.Value.Replace(m.Groups[3].Value, "+" + result.ToString());
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCVN0cmluZyBFeHByZXNzaW9uID0gIjIgKiAzIjsKICAgICAgICBSZWdleCByZWdFeCA9IG5ldyBSZWdleChAIihbKy1dP1xkK1wuKlxkKltlRV1bKy1dP1xkK3xbLStdP1xkK1wuKlxkKilccyooWy8qKy1dKVxzKigtP1xkK1wuKlxkKltlRV1bKy1dP1xkK3wtP1xkK1wuKlxkKikiKTsKCiAgICAgICAgRXhwcmVzc2lvbiA9IHJlZ0V4LlJlcGxhY2UoRXhwcmVzc2lvbixSZXBsKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZShFeHByZXNzaW9uKTsKCX0KCQoJcHVibGljIHN0YXRpYyBzdHJpbmcgUmVwbChNYXRjaCBtKQoJewoJCWRvdWJsZSByZXN1bHQgPSBDb252ZXJ0LlRvRG91YmxlKG0uR3JvdXBzWzNdLlZhbHVlKTsKCQlyZXN1bHQgPSBDb252ZXJ0LlRvRG91YmxlKG0uR3JvdXBzWzNdLlZhbHVlKSAvIDEwMCAqIDI7CiAgICAgICAgaWYgKHJlc3VsdCA8IDAgfHwgbS5JbmRleCA9PSAwKQogICAgICAgICAgIHJldHVybiBtLlZhbHVlLlJlcGxhY2UobS5Hcm91cHNbM10uVmFsdWUsIHJlc3VsdC5Ub1N0cmluZygpKTsKICAgICAgICBlbHNlIAogICAgICAgICAgIHJldHVybiBtLlZhbHVlLlJlcGxhY2UobS5Hcm91cHNbM10uVmFsdWUsICIrIiArIHJlc3VsdC5Ub1N0cmluZygpKTsKCX0KfQoK