title: Regex for text between two static strings
body: <p>I'm trying to extract text from a series of e-mails. These mails look like:</p>
  
  <blockquote>
    <p>Hello,</p>
    
    <p>bla bla bla. The reason for this is: the problem was resolved after
    all</p>
    
    <p>Kind regards,</p>
    
    <p>bla bla</p>
  </blockquote>
  
  <p>I've got a regular expression like this:</p>
  
  <pre><code>With ReasonReg
      .Pattern = "(The reason for this is\s*:\s*)(\w\s*)+(?=\s*Kind regards)"
      .Global = False
      .IgnoreCase = False
  End With
  </code></pre>
  
  <p>My problem arises with mails where digits and special characters (colons and question marks) are used. \w doesn't match those, of course, but if I try any of the following, my Outlook (Office 365) becomes unresponsive.</p>
  
  <pre><code>.Pattern = "(The reason for this is\s*:\s*)(.*\s*)+(?=\s*Kind regards)"
  .Pattern = "(The reason for this is\s*:\s*)(\w\W*\s*)+(?=\s*Kind regards)"
  .Pattern = "(The reason for this is\s*:\s*)(\w[:?]*\s*)+(?=\s*Kind regards)"
  </code></pre>