[英]Extract a string with Regular Expression
我有一个像这样的字符串:
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);
好吧,我做到了
Pattern p=Pattern.compile("(^ITEM\\s.+?)^(?=ITEM|DATASOURCE)",Pattern.MULTILINE | Pattern.DOTALL);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.