尝试使用正则表达式捕获一行数据

本文关键字:一行 数据 正则表达式 | 更新日期: 2023-09-27 18:31:30

我正在尝试捕获以下内容:

581116     03/20/12 08:42 87NL 10%ETH A        8,500 G GAL  3.189     27,106.50

我的正则表达式是:

^(?<BOLNUM>'d+) +(?<LOADDATE>'d{2}/'d{2}/'d{2}) +(?<LOADTIME>'d{2}:'d{2}) +#?(?<PRODUCTDESC>.*?)#? {2,}(?<QUANTITY>'S+) +(?<BASIS>G|N) +(?<UOM>'w{3}) +(?<PRICE>['S]+)

但是有些文件有这个来源:

581116     03/20/12 08:42 87NL 10%ETH A        8,500 G GAL3.189     27,106.50

请注意,GAL3.189之间没有差距。有人可以帮助我的正则表达式来捕获上述行吗?请注意,数据可以采用上述任何形式,因此我的正则表达式应该能够捕获字段(GAL和价格字段)之间是否存在间隙的行。

尝试使用正则表达式捕获一行数据

只需转换最后一部分:

(?<UOM>'w{3}) +(?<PRICE>['S]+)

对此:

(?<UOM>'w{3}) *(?<PRICE>['S]+)

*使空间可选。