title: ESAPI not passing file validation
body: <p>I am working with ESAPI to try and validate windows directory paths. For some reason, the part of my directory path named \14\ is getting converted into a CRLF. The error I am receiving is below, what am I not understanding correctly? I feel like my regex should be working.</p>
  
  <pre><code>WARN  IntrusionDetector [SECURITY FAILURE Anonymous:null@unknown -&gt; /project-test/IntrusionDetector] Invalid input: context=directoryPath, type(DirectoryName)=^[a-zA-Z0-9:/\\!@#$%^&amp;{}\[\]()_+\-=,.~'` ]{1,255}$, input=C:\UsersTESTUS~1AppDataLocalTempTestCase8002TempWorkSpace, orig=C:\Users\TESTUS~1\AppData\Local\Temp\14\TestCase8002TempWorkSpace 
  </code></pre>
  
  <p>As you can see, I am using the regex:
  <strong>^[a-zA-Z0-9:/\!@#$%^&amp;{}[]()_+-=,.~'` ]$</strong></p>
  
  <p>My input is: 
  <strong>C:\Users\TESTUS~1\AppData\Local\Temp\14\TestCase8002TempWorkSpace</strong></p>
  
  <p>Ouput, after ESAPI does canonicalization and validation: 
  <strong>C:\UsersTESTUS~1AppDataLocalTempTestCase8002TempWorkSpace</strong></p>
  
  <p>Here is the line of code that causes me to receive the error;</p>
  
  <pre><code>String validatedSourcePath = ESAPI.validator().getValidInput("directoryUnzip", directory, "DirectoryName", 255, false);
  File validFile = new File(validatedSourcePath);
  </code></pre>