57 lines
846 B
Perl
57 lines
846 B
Perl
|
#!/usr/bin/perl
|
||
|
|
||
|
# Copyright (c) 2021-2022, PostgreSQL Global Development Group
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
|
||
|
my $integer = '[+-]?[0-9]+';
|
||
|
my $real = '[+-]?[0-9]+\.[0-9]+';
|
||
|
|
||
|
my $RANGE = '(\.\.)(\.)?';
|
||
|
my $PLUMIN = q(\'\+\-\');
|
||
|
my $FLOAT = "(($integer)|($real))([eE]($integer))?";
|
||
|
my $EXTENSION = '<|>|~';
|
||
|
|
||
|
my $boundary = "($EXTENSION)?$FLOAT";
|
||
|
my $deviation = $FLOAT;
|
||
|
|
||
|
my $rule_1 = $boundary . $PLUMIN . $deviation;
|
||
|
my $rule_2 = $boundary . $RANGE . $boundary;
|
||
|
my $rule_3 = $boundary . $RANGE;
|
||
|
my $rule_4 = $RANGE . $boundary;
|
||
|
my $rule_5 = $boundary;
|
||
|
|
||
|
|
||
|
print "$rule_5\n";
|
||
|
while (<>)
|
||
|
{
|
||
|
|
||
|
# s/ +//g;
|
||
|
if (/^($rule_1)$/)
|
||
|
{
|
||
|
print;
|
||
|
}
|
||
|
elsif (/^($rule_2)$/)
|
||
|
{
|
||
|
print;
|
||
|
}
|
||
|
elsif (/^($rule_3)$/)
|
||
|
{
|
||
|
print;
|
||
|
}
|
||
|
elsif (/^($rule_4)$/)
|
||
|
{
|
||
|
print;
|
||
|
}
|
||
|
elsif (/^($rule_5)$/)
|
||
|
{
|
||
|
print;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
print STDERR "error in $_\n";
|
||
|
}
|
||
|
|
||
|
}
|