PPIx::Regexp::Token::GroupType::Assertion - Represent a look ahead or look behind assertion


PPIx-Regexp documentation Contained in the PPIx-Regexp distribution.

Index


Code Index:

NAME

Top

PPIx::Regexp::Token::GroupType::Assertion - Represent a look ahead or look behind assertion

SYNOPSIS

Top

 use PPIx::Regexp::Dumper;
 PPIx::Regexp::Dumper->new( 'qr{foo(?=bar)}smx' )
     ->print();

INHERITANCE

Top

PPIx::Regexp::Token::GroupType::Assertion is a PPIx::Regexp::Token::GroupType.

PPIx::Regexp::Token::GroupType::Assertion has no descendants.

DESCRIPTION

Top

This class represents the parenthesized look ahead and look behind assertions.

METHODS

Top

This class provides no public methods beyond those provided by its superclass.

SUPPORT

Top

Support is by the author. Please file bug reports at http://rt.cpan.org, or in electronic mail to the author.

AUTHOR

Top

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Top


PPIx-Regexp documentation Contained in the PPIx-Regexp distribution.
package PPIx::Regexp::Token::GroupType::Assertion;

use strict;
use warnings;

use base qw{ PPIx::Regexp::Token::GroupType };

use PPIx::Regexp::Constant qw{ MINIMUM_PERL };

our $VERSION = '0.020';

{
    my %perl_version_introduced = (
	'?<='	=> '5.005',
	'?<!'	=> '5.005',
    );

    sub perl_version_introduced {
	my ( $self ) = @_;
	return $perl_version_introduced{ $self->content() } || MINIMUM_PERL;
    }
}

# Return true if the token can be quantified, and false otherwise
# sub can_be_quantified { return };

sub __PPIX_TOKENIZER__regexp {
    my ( $class, $tokenizer, $character ) = @_;

    # The actual expression being matched is \A \? <? [=!]. All the
    # optional escapes are because any of the non-open-bracket
    # punctuation characters may itself be escaped if it is also used to
    # quote the entire expression.
    if ( my $assert = $tokenizer->find_regexp(
	    qr{ \A \\? \? <? \\? [=!] }smx ) ) {
	return $assert;
    }

    return;
}

1;

__END__

# ex: set textwidth=72 :