title: Regular Expression with Minecraft Console and nodejs
body: <p>I am making a wrapper for the minecraft server, and I have been stuck on this one Regex match problem for Ages. Basically I want to match the following segment</p>
  
  <pre><code>[04:57:40] [Server thread/INFO]: &lt;§c§lAdmin §7§oUser1§r&gt; msg
  [04:57:50] [Server thread/INFO]: &lt;§c§lAdmin §7§oUser2§r&gt; msg
  [04:58:16] [Server thread/INFO]: &lt;§c§lAdmin §7§oUser1§r&gt; msg
  [04:58:28] [Server thread/INFO]: &lt;§4§lCoOwner §7§oUser2§r&gt; msg
  [04:58:33] [Server thread/INFO]: &lt;§c§lAdmin §7§oUser1§r&gt; msg
                                    ^-------------------^&lt;--That
  </code></pre>
  
  <p>Now, for those unfamiliar with minecraft username stuff, there are three parts:</p>
  
  <ul>
  <li><strong>Prefix:</strong> Consists of 0-16 characters, including '§'. '§' Must be followed by a letter or number.</li>
  <li><strong>Username:</strong> Letters, numbers, and underscore, anywhere in between 3 and 16 characters long. <code>[\w\d]{3,16}</code> Easily satisfies this.</li>
  <li><strong>Suffix:</strong> Same as prefix</li>
  </ul>
  
  <p>So out of the above, I need those 3 sections seperated.</p>
  
  <p>Is there a way to do this in JS RegExp? The only way I can think of is using lookbehinds. Would it be better to make a JS function to parse this? If so, how would I go about doing it?</p>
  
  <p><strong>EDIT 1:</strong> This Is my current regex <code>(?:[§&amp;\d\w ]){0,16}?(\w{3,16})(?:[§&amp;\d\w ]){0,16}</code>, given the following line of input:</p>
  
  <pre><code>&lt;§4&amp;btest &amp;r&amp;rKaidenP§r&gt; woo
  </code></pre>
  
  <p>Pattern group #1 is <code>rKaidenP</code>. It needs to be just KaidenP</p>