使用Perl处理数据列

dou*_*ker 0 perl

我想分割列并使用正则表达式获取数据.使用反向引用寻找更简单的解决方案.

previous balance payments adjustments charges payment without fine payment with fine

20,251.97 - 0.00 - 0.00 + 53,391.67 = 73,643.64 74,393.64

这是代码

#!/usr/bin/perl
use strict;

my $regex = qr/^(\d|-)?(\d|,)*\.?\d*$/;
my $data = "20,251.97                   -          0.00              -           0.00              +         53,391.67            =         73,643.64                74,393.64"
Run Code Online (Sandbox Code Playgroud)

mkb*_*mkb 8

你为什么不用这个split功能?

my @fields = split(/ +/, $data);
Run Code Online (Sandbox Code Playgroud)

  • 如果你想要,出于某种原因,排除运算符`-`,`+`和`=`你可以使用模式`/ [+\ - =] + /`. (2认同)