I have a regular expression that I'm testing a input stream of characters. I wonder if there is a way to match the regular expression against the input and determine if it is a partial match that consumes the entire input buffer? I.e. the end of the input buffer is reached before the regexp completes. I would like the implementation to decide whether to wait for more input characters, or abort the operation.

In other words, I need to determine which one is true:

1. The end of the input buffer was reached before the regexp was matched

E.g. `"foo" =~ /^foobar/`
2. The regular expression matches completely

E.g. `"foobar" =~ /^foobar/`
3. The regular expression failed to match

E.g. `"fuubar" =~ /^foobar`

The input is not packetized.