title: Regular expression for valid folder name c++ (windows)
body: <p>I am trying to valid a given folder name using a regular expression, I tried some tests and it works fine, please let me know if I am totally safe or  my reg expression miss something:</p>
  
  <pre><code> QRegExp regExp("^( [a-zA-Z] )( ( [a-zA-Z_\-\s0-9\.\)\(] )( [^\\!@#$%^&amp;/:*?&lt;&gt;""|]* ) )*$" );
          QStringList ForbidenNameU;
          ForbidenNameU&lt;&lt;"CON"&lt;&lt;"PRN"&lt;&lt;"AUX"&lt;&lt;"NUL"&lt;&lt;"COM"&lt;&lt;"COM1"&lt;&lt;"COM2"&lt;&lt;"COM3"&lt;&lt;"COM4"&lt;&lt;"COM5"&lt;&lt;"COM6"&lt;&lt;"COM7"&lt;&lt;"COM8"&lt;&lt;"COM9"&lt;&lt;"LPT"&lt;&lt;"LPT1"&lt;&lt;"LPT2"&lt;&lt;"LPT3"&lt;&lt;"LPT4"&lt;&lt;"LPT5"&lt;&lt;"LPT6"&lt;&lt;"LPT7"&lt;&lt;"LPT8"&lt;&lt;"LPT9";
          QStringList ForbidenName;
          ForbidenName&lt;&lt;"con"&lt;&lt;"prn"&lt;&lt;"aux"&lt;&lt;"nul"&lt;&lt;"com"&lt;&lt;"com1"&lt;&lt;"com2"&lt;&lt;"com3"&lt;&lt;"com4"&lt;&lt;"com5"&lt;&lt;"com6"&lt;&lt;"com7"&lt;&lt;"com8"&lt;&lt;"com9"&lt;&lt;"lpt"&lt;&lt;"lpt1"&lt;&lt;"lpt2"&lt;&lt;"lpt3"&lt;&lt;"lpt4"&lt;&lt;"lpt5"&lt;&lt;"lpt6"&lt;&lt;"lpt7"&lt;&lt;"lpt8"&lt;&lt;"lpt9";
  
          if((Dirname-&gt;text().contains(regExp))&amp;&amp; !ForbidenNameU.contains(Dirname-&gt;text())&amp;&amp; !ForbidenName.contains(Dirname-&gt;text()))
          {
              validname=true;
              qDebug()&lt;&lt;"match in dir name = "&lt;&lt;regExp.cap(0);
              emit completeChanged();
          }...
  </code></pre>
  
  <p>PS(I don't want to use <code>GetInvalidFileNameChars()</code> or any other api )</p>
  
  <p>Thank you in advance.</p>