1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | using System; using System.Text.RegularExpressions; namespace RegexTest { class Program { static void Main(string[] args) { var expressions = new string[] { "((2+3.1)/2)*4.456", "1", "(2)", "2+2", "(1+(2+3))", "-2*(2+-2)", "1+(3/(2+7-(4+3)))", "1-", "2+2)", "(2+2", "(1+(2+3)", }; var regex = new Regex(@"(?x) ^ (?> (?<p> \( )* (?>-?\d+(?:\.\d+)?) (?<-p> \) )* ) (?>(?: [-+*/] (?> (?<p> \( )* (?>-?\d+(?:\.\d+)?) (?<-p> \) )* ) )*) (?(p)(?!)) $ "); foreach (var expr in expressions) { Console.WriteLine("Expression: " + expr); Console.WriteLine(" Result: " + (regex.IsMatch(expr) ? "Matched" : "Failed")); } } } } |
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpuYW1lc3BhY2UgUmVnZXhUZXN0CnsKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICB2YXIgZXhwcmVzc2lvbnMgPSBuZXcgc3RyaW5nW10gewogICAgICAgICAgICAgICAgIigoMiszLjEpLzIpKjQuNDU2IiwKICAgICAgICAgICAgICAgICIxIiwKICAgICAgICAgICAgICAgICIoMikiLAogICAgICAgICAgICAgICAgIjIrMiIsCiAgICAgICAgICAgICAgICAiKDErKDIrMykpIiwKICAgICAgICAgICAgICAgICItMiooMistMikiLAogICAgICAgICAgICAgICAgIjErKDMvKDIrNy0oNCszKSkpIiwKICAgICAgICAgICAgICAgICIxLSIsCiAgICAgICAgICAgICAgICAiMisyKSIsCiAgICAgICAgICAgICAgICAiKDIrMiIsCiAgICAgICAgICAgICAgICAiKDErKDIrMykiLAogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ2V4KEAiKD94KQogICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgKD8+ICg/PHA+IFwoICkqICg/Pi0/XGQrKD86XC5cZCspPykgKD88LXA+IFwpICkqICkKICAgICAgICAgICAgICAgICg/Pig/OgogICAgCSAgICAgICAgICAgIFstKyovXQogICAgCSAgICAgICAgICAgICg/PiAoPzxwPiBcKCApKiAoPz4tP1xkKyg/OlwuXGQrKT8pICg/PC1wPiBcKSApKiApCiAgICAgICAgICAgICAgICApKikKICAgICAgICAgICAgICAgICg/KHApKD8hKSkKICAgICAgICAgICAgICAgICQKICAgICAgICAgICAgIik7CgogICAgICAgICAgICBmb3JlYWNoICh2YXIgZXhwciBpbiBleHByZXNzaW9ucykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkV4cHJlc3Npb246ICIgKyBleHByKTsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIgICAgUmVzdWx0OiAiICsgKHJlZ2V4LklzTWF0Y2goZXhwcikgPyAiTWF0Y2hlZCIgOiAiRmFpbGVkIikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==
-
upload with new input
-
result: Success time: 0.08s memory: 37272 kB returned value: 0
Expression: ((2+3.1)/2)*4.456 Result: Matched Expression: 1 Result: Matched Expression: (2) Result: Matched Expression: 2+2 Result: Matched Expression: (1+(2+3)) Result: Matched Expression: -2*(2+-2) Result: Matched Expression: 1+(3/(2+7-(4+3))) Result: Matched Expression: 1- Result: Failed Expression: 2+2) Result: Failed Expression: (2+2 Result: Failed Expression: (1+(2+3) Result: Failed


