---
name: "DateTime::Format::Builder::Parser::Regex"
section: "3pm"
platform: "linux"
package: "perl-datetime-format-builder"
version: "1:0.83-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/DateTime::Format::Builder::Parser::Regex"
---

# DateTime::Format::Builder::Parser::Regex(3pm)

Regex based date parsing

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