title: Using zero-width assertions negative lookahead to match a string that does's contains string "abc"
body: <p>Hi all:
      I'm trying using zero-width assertions negative lookahead to match a string that does's contains string "abc",and this is what I got:</p>
  
  <pre><code>    Pattern pattern = new Perl5Compiler().compile("((?!abc).)+");
      Perl5Matcher matcher = new Perl5Matcher();
      System.out.println(matcher.matches("abc", pattern));
      System.out.println(matcher.matches("abdas dfas", pattern));
      System.out.println(matcher.matches("d abc ", pattern));
      System.out.println(matcher.matches("fafabcdef", pattern));
  </code></pre>
  
  <p>and the result is:</p>
  
  <pre><code>    false
      true
      false
      false
  </code></pre>
  
  <p>What I can't understand is why the string "abc" doesn't matches, it doesn't contains any character after the assertion "abc". Can anyone please figure out how this works? tks~</p>