def scan_full(self, regex, return_string=True, advance_pointer=True):
regex = get_regex(regex)<EOL>self.match = regex.match(self.string, self.pos)<EOL>if not self.match:<EOL><INDENT>return<EOL><DEDENT>if advance_pointer:<EOL><INDENT>self.pos = self.match.end()<EOL><DEDENT>if return_string:<EOL><INDENT>return self.match.group(<NUM_LIT:0>)<EOL><DEDENT>return len(self.match.group(<NUM_LIT:0>))<EOL>
Match from the current position.

If `return_string` is false and a match is found, returns the number of
characters matched.

    >>> s = Scanner("test string")
    >>> s.scan_full(r' ')
    >>> s.scan_full(r'test ')
    'test '
    >>> s.pos
    5
    >>> s.scan_full(r'stri', advance_pointer=False)
    'stri'
    >>> s.pos
    5
    >>> s.scan_full(r'stri', return_string=False, advance_pointer=False)
    4
    >>> s.pos
    5