我有一个像:
的字符串ITEM 'SALES_ORDER_COMPANY'
ITEM 'SALES_ORDER_NUMBER'
ITEM 'SALES_ORDER_TYPE' 'SALES_ORDER_TYPE'
ITEM 'ORIGINATING_SYSTEM'
ITEM 'BATCH_DT' 'BATCH_DT'
CALCULATE 'some text here'
ITEM 'INVOICE_DT' 'INVOICE_DT'
CALCULATE 'some text here'
我想提取项目,然后分开CALCULATE
和其他项目。
例如:
extract 1 (ITEM 'BATCH_DT' 'BATCH_DT'
CALCULATE 'some text here')
extract 2 (ITEM 'INVOICE_DT' 'INVOICE_DT'
CALCULATE 'some text here')
extract3 (ITEM 'SALES_ORDER_COMPANY')
extract4 (ITEM 'SALES_ORDER_NUMBER') ...
我的想法是首先通过计算提取项目然后用“”替换它们然后提取其他项目,所以我使用了这种模式,但它对我不起作用
Pattern p=Pattern.compile("^ITEM\\s'.*?'^CALCULATE'.*?'", Pattern.MULTILINE | Pattern.DOTALL);
答案 0 :(得分:0)
我做到了
Pattern p=Pattern.compile("(^ITEM\\s.+?)^(?=ITEM|DATASOURCE)",Pattern.MULTILINE | Pattern.DOTALL);