# DateTime::Format::Builder::Parser::Regex - phpMan

## NAME
    [DateTime::Format::Builder::Parser::Regex] - Regex based date parsing

## VERSION
    version 0.83

## SYNOPSIS
        my $parser = [DateTime::Format::Builder]->create_parser(
            regex  => qr/^(\d\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)$/,
            params => [qw( year month day hour minute second )],
        );

## SPECIFICATION
    In addition to the common keys, "Regex" supports:

    *   regex

        regex is a regular expression that should capture elements of the
        datetime string. This is a required element. This is the key whose
        presence indicates it's a specification that belongs to this class.

    *   params

        params is an arrayref of key names. The captures from the regex are
        mapped to these ($1 to the first element, $2 to the second, and so
        on) and handed to "DateTime->new". This is a required element.

    *   extra

        extra is a hashref of extra arguments you wish to give to
        "DateTime->new". For example, you could set the "year" or
        "time_zone" to defaults:

            extra => { year => 2004, time_zone => "Australia/Sydney" },

    *   constructor is either an arrayref or a coderef. If an arrayref then
        the first element is a class name or object, and the second element
        is a method name (or coderef since Perl allows that sort of thing).
        The arguments to the call are anything in $p and anything given in
        the "extra" option above.

        If only a coderef is supplied, then it is called with arguments of
        $self, $p and "extra".

        In short:

            $self->$coderef( %{$p}, %{ $self->{extra} } );

        The method is expected to return a valid DateTime object, or "undef"
        in event of failure, but can conceivably return anything it likes.
        So long as it's 'true'.

## SEE ALSO
    "<datetime@perl.org>" mailing list.

    <http://datetime.perl.org/>

    perl, DateTime, [DateTime::Format::Builder]

## SUPPORT
    Bugs may be submitted at
    <<https://github.com/houseabsolute/DateTime-Format-Builder/issues>>.

    I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".

## SOURCE
    The source code repository for DateTime-Format-Builder can be found at
    <<https://github.com/houseabsolute/DateTime-Format-Builder>>.

## AUTHORS
    *   Dave Rolsky <<autarch@urth.org>>

    *   Iain Truskett <<spoon@cpan.org>>

## COPYRIGHT AND LICENSE
    This software is Copyright (c) 2020 by Dave Rolsky.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

    The full text of the license can be found in the LICENSE file included
    with this distribution.

