0

我试图捕捉到这一点:

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

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

4

1 回答 1

2

只需转换最后一部分:

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

对此:

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

使*空间可选。

于 2012-04-17T20:42:03.810 回答