YAPE::Regex::Explain - explanation of a regular expression
This document refers to YAPE::Regex::Explain version 4.01.
use YAPE::Regex::Explain; my $exp = YAPE::Regex::Explain->new($REx)->explain;
YAPE
The YAPE hierarchy of modules is an attempt at a unified means of parsing and extracting content. It attempts to maintain a generic interface, to promote simplicity and reusability. The API is powerful, yet simple. The modules do tokenization (which can be intercepted) and build trees, so that extraction of specific nodes is doable.
This module merely sub-classes YAPE::Regex, and produces a rather verbose explanation of a regex, suitable for demonstration and tutorial purposes.
YAPE::Regex
YAPE::Regex::Explain
my $p = YAPE::Regex::Explain->new($regex);
Calls YAPE::Regex's new method (see its docs).
new
my $p = YAPE::Regex::Explain->explain($mode);
Returns a string explaining the regex. While not required for all regexes, it is sometimes necessary to compile the regex using the qr// operator before passing it to the explain method. If $mode is regex, it will output a valid regex (instead of the normal string). If $mode is silent, no comments will be added, but the regex will be expanded into a readable format.
qr//
explain
$mode
regex
silent
Print the full explanation for the regex \Q[abc]\E\d+, compiling it first:
\Q[abc]\E\d+
print YAPE::Regex::Explain->new(qr/\Q[abc]\E\d+/)->explain();
Print the explanation for the regex \w[a-f]*, without comments:
\w[a-f]*
print YAPE::Regex::Explain->new('\w[a-f]*')->explain('silent');
Print the explanation for a multi-line regex:
my $re = qr{ (foo|bar) # just a comment \d+ / }ix; print YAPE::Regex::Explain->new($re)->explain();
There is no support for regular expression syntax added after Perl version 5.6, particularly any constructs added in 5.10. For examples, refer to:
http://perldoc.perl.org/perl5100delta.html#Regular-expressions
The original author is Jeff "japhy" Pinyan (CPAN ID: PINYAN).
Gene Sullivan (gsullivan@cpan.org) is a co-maintainer.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
To install YAPE::Regex::Explain, copy and paste the appropriate command in to your terminal.
cpanm
cpanm YAPE::Regex::Explain
CPAN shell
perl -MCPAN -e shell install YAPE::Regex::Explain
For more information on module installation, please visit the detailed CPAN module installation guide.