私はしばらくの間この作業を続けてきました。理由は、私はあなたがtoString Javaオブジェクトを取得し、私はオブジェクトにそれをシリアル化しようとしている出力を取得しています。それは単一のオブジェクトだった場合、それは簡単だろうが、私はリストを持って、私はリスト内のすべての1つをキャプチャしたい。同じ文字列を単一の文字列にマッチさせてリストに変換する
だからオブジェクト
リスト(AcquireRequest(X2、x3,1466008848103,5,5,5、どんな、リスト(リソース割り当て(アロケーション、5)、 リソース割り当て(Lolication、25)))、 AcquireRequest(x2、x3,1466008848103,5,5,5、what、List(ResourceAllocation(allocation、5)、 ResourceAllocation(Lolication、25)))、 AcquireRequest(x2、x3,1466008848103,5,5,5,5 、何でも、List(ResourceAllocation(allocation、5)、 ResourceAllocation(Lolication、555)))))
これは内部にいくつかのフィールドの文字列や数字とList of Anotherオブジェクトを持つAcquireRequestオブジェクトのリストです。私が欲しいのは、AcquireRequest文字列を個々に一致させることで、結果的にAcquireRequestを使ってList(String)という結果を得ることです。
私はパターンマッチングを試みました、Javaマッチャーなどを使用しました。
自分でいくつかの正規表現の試み:
(AcquireRequest((=、\ s)は(=、)\ D *(=、)\ D *(=、。?。??? )\ dは*(=、)\ D *(=、)(=、)(=)))(=、|??????))
AcquireRequest(()。 、(。)、(\ D *)、(\ D *)、(\ D *)、(\ D *)、(。?)、(。))
AcquireRequest((。+ ))
最初の試みは現在の試みですが、外部のList()を除いてすべて一致しています。 AcquireRequest式の後に、別の要素が来ていることを意味する「、」か、それが最後であることを意味するので、私はちょうど先読みが必要だと思った。
ありがとうございました!
私はregexを使用しないことをお勧めします。さらに、シリアル化用に設計されていないJavaの 'String'表現ではなく、業界標準の直列化形式(バイナリ、JSON、XML)を使用することをお勧めします。 – Mena
ええ、私はあなたに完全に同意する、私はこれは単純な解決策だと思ったが、それはしばらくしていないことを理解した。私は単純なパターンマッチングを使用してマーシャル/マルマーシャルの90%を持っていますが、この1つのケースはRegexでは動作しません。私はjsonのlibに移動しますが、私は問題を起こさせることができないこれらの人々の1人であり、私はこの時間を失いました。とにかくこれが正規表現を使ってできるかどうかを理解する必要があります –
これは先読みでは可能ですが、どうしたらいいのかは分かりません。 –