Я пытаюсь сопоставить любые символьные символы в любом порядке, способном
. У меня три строки, которые объединяются в одну строку
line 1 = DE-120 LLL[310] CHR(9049 9360 TRANSNSW 400000000000000018416)
line2 = DE-121 LLL[035] CHR(00317010024/VER/1//CRT/UCAF//POS/2/)
line3 = DE-123 LLL[151] (/VER/1//MSO/SYSTEST_MSO_DASH//TXD/2020-04-20T03:47:47.492Z//AQU/SYSTEST_ACQ_S2I//TTY/AUTH//OID/311e12cc-4561-4b0a-9540-f30d5ef8d744//CLI/IUV5OJDNV5LZG/)";
, пока мой код
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Pattern patternreq = Pattern.compile("(DE\\W*\\d*)(\\s*\\w*\\W*)(\\d*)(\\W*\\s*)(\\w*)(\\()([\\w*\\s*]+)(\\))");
String txn = "DE-120 LLL[310] CHR(9049 9252 9360 9408000000009556SYSTEST_MSO_DASH TRANSNSW 9661293208721 400000000000000018416)DE-121 LLL[035] CHR(00317010024/VER/1//CRT/UCAF//POS/2/)DE-123 LLL[151] CHR(/VER/1//MSO/SYSTEST_MSO_DASH//TXD/2020-04-20T03:47:47.492Z//AQU/SYSTEST_ACQ_S2I//TTY/AUTH//OID/311e12cc-4561-4b0a-9540-f30d5ef8d744//CLI/IUV5OJDNV5LZG/)";
Matcher m = patternreq.matcher(txn);
String field = matcher_request.group(1);
String length = matcher_request.group(3);
String value = matcher_request.group(7);
Я могу сопоставить первую строку DE-120 и извлечь значения из группы, в которой я нуждаюсь, но не могу выполнить вторую и третью строку.
как мне сопоставить все символы символы между двумя фигурными скобками CHR (.....), поскольку эти значения могут быть любого порядка и в любом шаблоне, пробовали несколько шаблонов, таких как. *? те не работали
Заранее спасибо