私はアルゴリズムの設計が苦手で、複雑な問題を抱えています。ぜひご覧ください。私は現在、Java/Groovy で作業しています。
次のようなテキストがあります。
AAAAA
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
stuff
AAAAA
stuff
AAAAA
BBBBB
stuff
222
stuff
BBBBB
私の課題は、周囲のテキストを取得せずに、AAAAAA のもの 111 のもの AAAAA の形式のすべての文字列を取得することです。文字列に複数の AAAAA があることがわかりますが、111 と 222 に最も近いものだけを取得し、このタイプのすべての文字列に対してこれを行う必要があります。
私の正規表現(機能していない)は次のようになります。
/(\w{8}|\w{11}).*?(\w{3}).*?\1/
私はそれらの束で遊んでいますが、テキストを取得しすぎたり、パフォーマンスが遅すぎたりします...この種の問題に何を使用すべきか誰かが知っている場合は、お知らせください。
編集:これらは私が一致させようとしているものです:
AAAAA
CCCCC
any stuff here
111
any stuff here
AAAAA
と
BBBBB
stuff
222
stuff
BBBBB
これは、不適切にタグ付けされた XML を解析するのとほとんど同じだと言えます。とにかく、見てくれてありがとう。