The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Regexp::Lexer - Lexer for regular expression of perl


    use Regexp::Lexer qw(tokenize);
    my $tokens = tokenize(qr{\Ahello\s+world\z}i);


Regexp::Lexer is a lexer for regular expression of perl.

This module splits the regular expression string to tokens which has minimum meaning.


  • tokenize($re:Regexp)

    Tokenizes the regular expression.

    This function takes an argument as Regexp, namely it must be regexp quoted variable (i.e. qr/SOMETHING/). If not Regexp argument is given, this function throws exception.

    This function returns the result like so;

            tokens => [
                    char => '\A',
                    index => 1,
                    type => {
                        id => 67,
                        name => 'EscapedBeginningOfString',
                    char => 'h',
                    index => 2,
                    type => {
                        id => 1,
                        name => 'Character',
            modifiers => ['^', 'i'],

    tokens is the tokens list. Information about type of token is located in the Regexp::Lexer::TokenType.

    modifiers is the list of modifiers of regular expression. Please see also perlre.



Copyright (C) moznion.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


moznion <>