title: Regular expressions mystery: "No ending delimiter '^' found"
body: <p>Can someone explain to me?
  This is my code :</p>
  
  <pre><code> $regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+'
              . '(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; 
      if (preg_match($regex, $email)) {
          echo $email . " is a valid email. We can accept it.";
      } else { 
          echo $email . " is an invalid email. Please try again.";
      }
  </code></pre>
  
  <p>If I use for an example this regular expression:</p>
  
  <pre><code>^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)↪*(\.[a-z]{2,3})$
  </code></pre>
  
  <p>or another different regular expression I get:</p>
  
  <pre><code>preg_match() [function.preg-match]: No ending delimiter '^' found
  </code></pre>
  
  <p>And if I use <code>filter_var('some_regular_expression', FILTER_EMAIL_VALIDATOR)</code> an email like <code>asd!qwe@gmail.com</code> is a valid one ???</p>