我想抓住这个:
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
和价格字段)之间是否存在差距。
答案 0 :(得分:2)
转换最后一部分:
(?<UOM>\w{3}) +(?<PRICE>[\S]+)
到此:
(?<UOM>\w{3}) *(?<PRICE>[\S]+)
*
使空格可选。