title: recognize newline with regex in tcl
body: <p>I have an expression like:</p>
  
  <pre><code>ENTITY first
      VHDL language standard: 3 (VHDL-2008)
    ARCHITECTURE BODY arch
      VHDL language standard: 3 (VHDL-2008)
  </code></pre>
  
  <p>Now I want a regexp for only the first paranthesis after ENTITY
  so the result should be <code>VHDL-2008</code> or even <code>2008</code>.</p>
  
  <p>I'm new to regexps. What I tried:</p>
  
  <pre><code>"^ENTITY *(.*)"
  </code></pre>
  
  <p>only returns "first". So my question is: How can I request a newline after "first"?
  My try:</p>
  
  <pre><code>"^ENTITY .*\\n(.*)"
  </code></pre>
  
  <p>And very confusing was the result of </p>
  
  <pre><code>"^(.*)"
  </code></pre>
  
  <p>which added some { and }. Why?</p>
  
  <p>I have found a very ugly way to do this:</p>
  
  <p>first eliminate newlines</p>
  
  <pre><code>set data [regsub -all "\n" $data ""]
  </code></pre>
  
  <p>and then something like this:</p>
  
  <pre><code>{ENTITY risc .*VHDL language standard: [0-3]..VHDL-(.*).}
  </code></pre>
  
  <p>As you can see I didn't understand how to recognize { or ( paranthesis. Any better solution?</p>