The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Regexp::Pattern::Palindrome - Regexp patterns related to palindrome

VERSION

This document describes version 0.002 of Regexp::Pattern::Palindrome (from Perl distribution Regexp-Pattern-Palindrome), released on 2020-02-11.

SYNOPSIS

 use Regexp::Pattern; # exports re()
 my $re = re("Palindrome::gen_palindrome_alphanum");

DESCRIPTION

Regexp::Pattern is a convention for organizing reusable regex patterns.

PATTERNS

  • gen_palindrome_alphanum

    Generate regex to match palindrome alphanumeric word of certain minimum length.

    This is a dynamic pattern which will be generated on-demand.

    The following arguments are available to customize the generated pattern:

    • min_len

    Examples:

     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>1});  # matches
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # doesn't match
    
     "aaa" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # matches
    
     "aba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # matches
    
     "abba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # matches
    
     "abcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # matches
    
     "abc" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>3});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>5});  # doesn't match
    
     "abcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>5});  # matches
    
     "abccba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>5});  # matches
    
     "abcde" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>5});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>7});  # doesn't match
    
     "abcdcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>7});  # matches
    
     "abcddcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>7});  # matches
    
     "abcdefg" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>7});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>9});  # doesn't match
    
     "abcdedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>9});  # matches
    
     "abcdeedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>9});  # matches
    
     "abcdefghi" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>9});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>11});  # doesn't match
    
     "abcdefedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>11});  # matches
    
     "abcdeffedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>11});  # matches
    
     "abcdefghijk" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>11});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>13});  # doesn't match
    
     "abcdefgfedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>13});  # matches
    
     "abcdefggfedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>13});  # matches
    
     "abcdefghijklm" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>13});  # doesn't match
    
     "a" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>15});  # doesn't match
    
     "abcdefghgfedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>15});  # matches
    
     "abcdefghhgfedcba" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>15});  # matches
    
     "abcdefghijklmno" =~ re("Palindrome::gen_palindrome_alphanum", {min_len=>15});  # doesn't match
  • palindrome_alphanum

    Palindrome alphanumeric word (single alphanum included).

    Examples:

     "foo" =~ re("Palindrome::palindrome_alphanum");  # doesn't match
    
     "Aa" =~ re("Palindrome::palindrome_alphanum");  # doesn't match
    
     "-" =~ re("Palindrome::palindrome_alphanum");  # doesn't match
    
     "a-a" =~ re("Palindrome::palindrome_alphanum");  # doesn't match
    
     "a" =~ re("Palindrome::palindrome_alphanum");  # matches
    
     "aa" =~ re("Palindrome::palindrome_alphanum");  # matches
    
     "zzz" =~ re("Palindrome::palindrome_alphanum");  # matches
    
     "kodok" =~ re("Palindrome::palindrome_alphanum");  # matches

    Feb 2nd, 2020 in YYYYMMDD format.

     20200202 =~ re("Palindrome::palindrome_alphanum");  # matches

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Regexp-Pattern-Palindrome.

SOURCE

Source repository is at https://github.com/perlancar/perl-Regexp-Pattern-Palindrome.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Regexp-Pattern-Palindrome

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

SEE ALSO

Regexp::Pattern

Some utilities related to Regexp::Pattern: App::RegexpPatternUtils, rpgrep from App::rpgrep.

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by perlancar@cpan.org.

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