나는 잠시 동안이 작업을 해왔으며 앞으로 나 자신보다 앞서 가고 있다고 생각합니다. 나는 toString 자바 객체를 얻을 때 나는 결과를 얻고 있는데, 객체로 다시 직렬화하려고 시도하고있다. 그것이 하나의 객체라면 그것은 쉬울 것이지만 나는 목록을 가지고 있으며 목록 안에있는 모든 것을 하나씩 붙잡고 싶습니다.단일 문자열에서 동일한 표현식을 일치시키고 목록으로 변환
그래서 객체
목록 (AcquireRequest (X2, x3,1466008848103,5,5,5, 무엇이든, 목록 (ResourceAllocation (할당, 5), ResourceAllocation (Lolication, 25))) AcquireRequest (x2, x3,1466008848103,5,5,5, 무엇이든, List (ResourceAllocation (할당, 5), ResourceAllocation (Lolication, 25))), AcquireRequest (x2, x3,1466008848103,5,5,5,5 (ResourceAllocation (allocation, 5), ResourceAllocation (Lolication, 555))))
이것은 내부에 여러 필드 문자열 및/또는 숫자와 List of Another 객체가있는 AcquireRequest 객체 목록입니다. 내가 원하는 것은 AcquireRequest 문자열을 개별적으로 일치시켜 결과적으로 AcquireRequest를 사용하여 List (String)을 얻는 것입니다.
자바 매처 (matcher) 등을 사용하여 패턴 매칭을 시도했습니다. 혼자
일부 정규식 시도 :.?.???
(AcquireRequest ((= \들) (=) \ D * (=) \ D * (= ?) \ D * (=) \ D * (=) (=) (=))) (= |.?.?.))
AcquireRequest (() (.) (\ D *), (\ D *), (\ D *), (\ D *), (. ?) (.))
AcquireRequest ((+.))
첫 번째 시도는 현재 시도이지만 여전히 외부 List()를 제외한 모든 항목과 일치합니다. 나는 AcquireRequest 표현식 후에 다른 요소가오고 있다는 것을 의미하는 ","을 얻었 기 때문에 미리보기가 필요하다고 생각했다.
도움 주셔서 감사합니다.
정규식을 사용하지 않는 것이 좋습니다.게다가, 직렬화를 위해 설계되지 않은 객체의 Java 'String'표현 대신 산업 표준 직렬화 형식 (바이너리, JSON, XML)을 사용하는 것이 좋습니다. – Mena
그래, 나는 너와 완전히 동의한다. 나는 이것이 간단한 해결책이라고 생각했지만 잠시 후에는 이해하지 못했다. 내 말은, 나는 단순한 패턴 매칭을 사용하여 marshelling/unmarshelling의 90 %를 가졌지 만이 경우는 Regex에서 작동하지 않는다. 나는 json lib로 이동할 것이다. 그러나 나는 문제를 풀어줄 수없는 사람들 중 한 명이며 나는이 시간을 잃어 버렸다. 어쨌든 정규 표현식과 함께 할 수 있는지 이해할 필요가있다. –
이것은 미리보기와 함께 가능해야하지만 그것이 원하는 방식으로 작동하지 않는다. –