Skip to content

moznion/Regexp-Lexer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

NAME

Regexp::Lexer - Lexer for regular expression of perl

SYNOPSIS

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

DESCRIPTION

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

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

FUNCTIONS

  • 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.

SEE ALSO

LICENSE

Copyright (C) moznion.

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

AUTHOR

moznion moznion@gmail.com

About

Lexer for regular expression of perl

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages