尝试使用正则表达式捕获一行数据
本文关键字:一行 数据 正则表达式 | 更新日期: 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
请注意,GAL
和3.189
之间没有差距。有人可以帮助我的正则表达式来捕获上述行吗?请注意,数据可以采用上述任何形式,因此我的正则表达式应该能够捕获字段(GAL
和价格字段)之间是否存在间隙的行。
只需转换最后一部分:
(?<UOM>'w{3}) +(?<PRICE>['S]+)
对此:
(?<UOM>'w{3}) *(?<PRICE>['S]+)
*
使空间可选。