私は次のような文字列を持っています:
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
Items に続いて別の項目を抽出し、他の項目を別の項目に抽出したいと考えています。例えば :
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);