title: When using string match, are you required to escape special characters?
body: <p>I am working on a script to parse a certain fault code out of a SOAP message using tcl, and I have finally come to the part where I compare the message to the desired message. As you can see, I am trying to check if the string "9000" is contained in the array element "$soap(Fault)"</p>
  
  <hr>
  
  <pre><code>if { [ string match *\&lt;FaultCode\&gt;9000\&lt;/FaultCode\&gt;* $soap(Fault) ] } {
  
      # -- Success case
  
  } else {
  
      # -- fail case
  
  }
  </code></pre>
  
  <hr>
  
  <p>In the example I have provided, I have escaped all of the "special characters" in tcl:</p>
  
  <pre><code>&amp;;`'"|*?~&lt;&gt;^()[]{}$\
  </code></pre>
  
  <p>but is it required? Could one simply do:</p>
  
  <pre><code>*&lt;FaultCode&gt;9000&lt;/FaultCode&gt;*  ?
  </code></pre>
  
  <hr>
  
  <p>I have looked around pretty thoroughly and haven't been able to find something quite as precise as what I am asking. I was going to ask in the tcl chat room, but I couldn't find one!</p>
  
  <p>Thanks</p>