title: c# Regex- split string by multiple delimiters but not inside quotes
body: <p>I am trying to parse an expression in c#. 
  The expression can contain variables from a variable table, so I need to replace every variable name with it's value. In order to do it, i'm splitting the string using:</p>
  
  <pre><code>string[] split = Regex.Split(expression, @"([ !&lt;&gt;\b==\b+-/*])");
  </code></pre>
  
  <p>However, this becomes bad when a string contains string literals. for example:</p>
  
  <p><code>"\"number-\" + num "</code> (comes from <code>Console.print("number-" + num)</code>)</p>
  
  <p>should be split to <code>{"\"number-\"", "num"}</code>,
  instead of what it does currently: <code>{"\"number", "-\"", "num"}</code>.</p>
  
  <p>I found ways to split everything outside quotes with a single delimiter char, but I tried replacing the delimiter with my delimiter list, and it didn't work.</p>
  
  <p>Thanks in advance.</p>