title: How to make spacy rule-base matchs only what is between the give pattern
body: <p>I have the following code:</p>
  
  <pre><code>doc = nlp("My big pencil is red. Your pencil is green.")
  matcher = Matcher(nlp.vocab)
  matcher.add("pencil", None, [
      {"LEMMA": "-PRON-"},
      {"OP": "*"},
      {"LEMMA": "pencil"},
  ])
  matches = matcher(doc)
  for (entity_key, start_token, end_token) in matches:
      print(start_token, end_token, doc[start_token:end_token])
  </code></pre>
  
  <p>When I a run it, I get:</p>
  
  <pre>
  0 3 My big pencil
  6 8 Your pencil
  0 8 My big pencil is red. Your pencil
  </pre>
  
  <p>However, I just want it return the matches for the start and end tokens:</p>
  
  <pre>
  0 3 My big pencil
  6 8 Your pencil
  </pre>
  
  <p>Is there a way to restrict matcher to only return everything between the start and end tokens?</p>