App-JobLog
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/App/JobLog/TimeGrammar.pm view on Meta::CPAN
((?&date)) (?{ $d1 = $^N; stow($d1) })
(?: (?&span_divider) ((?&date)) (?{ $d2 = $^N; stow($d2) }) )?
)
(?<span_divider> \s*+ (?: -++ | \b(?: through | thru | to | till?+ | until )\b ) \s*+)
(?<at> at | @ )
(?<at_time>
(?{ $time_buffer = undef })
(?: (?: \s++ | \s*+ (?&at) \s*+ ) (?&time))?
)
(?<at_time_on> (?:(?&at) \s++)? (?&time) \s++ on \s++ )
(?<date>
(?{ (%buffer, $b1, $b2, $time_buffer) = ()})
(?: (?&numeric) | (?&verbal) )
(?{ $buffer{time} = $time_buffer if $time_buffer })
)
(?<time>
(?{ $time_buffer = undef })
(
\d{1,2}
(?:
: \d{2}
(?:
: \d{2}
)?
)?
(?: \s*+ (?&time_suffix))?
)
(?{ $time_buffer = $^N })
)
(?<time_suffix> [ap] (?:m|\.m\.))
(?<numeric>
(?:
(?&year)
|
(?&ym)
|
(?&at_time_on) (?&numeric_no_time)
|
(?&numeric_no_time) (?&at_time))
(?{ $buffer{type} = 'numeric' })
)
(?<year> (?{ %buffer = () }) (\d{4}) (?{ $buffer{year} = $^N }) )
(?<ym> (?&year) (?÷r) (\d{1,2}) (?{ @buffer{qw(month unit)} = ($^N, 'months') }) )
(?<numeric_no_time> (?{ %buffer = () }) (?&us) | (?&iso) | (?&md) | (?&dom) )
(?<us>
(\d{1,2}) (?{ $b1 = $^N })
((?÷r))
(\d{1,2}) (?{ $b2 = $^N })
\g{-2}
(\d{4})
(?{
$buffer{year} = $^N;
$buffer{month} = $b1;
$buffer{day} = $b2;
})
)
(?<iso>
(\d{4}) (?{ $b1 = $^N })
((?÷r))
(\d{1,2}) (?{ $b2 = $^N })
\g{-2}
(\d{1,2})
(?{
$buffer{year} = $b1;
$buffer{month} = $b2;
$buffer{day} = $^N;
})
)
(?<md>
(\d{1,2}) (?{ $b1 = $^N })
(?÷r)
(\d{1,2})
(?{
$buffer{month} = $b1;
$buffer{day} = $^N;
})
)
(?<dom>
(\d{1,2})
(?{ $buffer{day} = $^N })
)
(?<verbal>
(?: (?&my) | (?&named_period) | (?&relative_period) | (?&month_day) | (?&full) )
(?{ $buffer{type} = 'verbal' })
)
(?<named_period> (?&modifiable_day) | (?&modifiable_month) | (?&modifiable_period) )
(?<modifiable_day> (?&at_time_on) (?&modifiable_day_no_time) | (?&modifiable_day_no_time) (?&at_time))
(?<modifiable_day_no_time>
((?:(?&modifier) \s++ )?) (?{ $b1 = $^N })
((?&weekday))
(?{
$buffer{modifier} = $b1 if $b1;
$buffer{day} = $^N;
})
)
(?<modifiable_month>
((?:(?&month_modifier) \s++ )?) (?{ $b1 = $^N })
((?&month))
(?{
$buffer{modifier} = $b1 if $b1;
$buffer{month} = $^N;
})
)
(?<modifiable_period>
(?{ $b1 = undef })
(?:((?&period_modifier)) \s*+ (?{ $b1 = $^N }))?
((?&period))
(?{
$buffer{modifier} = $b1 if $b1;
$buffer{period} = $^N;
})
)
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.093 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )