まず第一に、あなたはこれを難しい方法でやろうとしています。これは不可能ではないかもしれませんが、人工知能技術を適用する必要があり、それが価値があるよりもはるかに複雑になるでしょう。Z[0-9]+
との形式T[0-9]+
が常に正規表現のどこかで使用されていると仮定すると、ニューラルネットワークまたは遺伝的アルゴリズムシステムのいずれかをトレーニングして、Z番号とT番号を認識することができます。
この問題で私がすることは、すべてのファイル名を処理するPythonスクリプトを書くことです。このスクリプトでは、ファイル名に対して2回照合します。1回はを検索し、もう1回はZ[0-9]+
を検索しT[0-9]+
ます。毎回、Z番号とT番号の一致を数えます。
他に4つのカウンターを合計で保持します。2つはZ番号用、2つはT番号用です。各ペアは、一致が1つあるファイル名と、一致が複数あるファイル名の数を表します。そして、処理されたファイル名の総数を数えます。
最後に、私は次のように報告します:
nnnnnnnnnn filenames processed
Z-numbers matched only once in nnnnnnnnnn filenames.
Z-numbers matched multiple times in nnnnnn filenames.
T-numbers matched only once in nnnnnnnnnn filenames.
T-numbers matched multiple times in nnnnnn filenames.
運が良ければ、複数の一致はまったくありません。上記の正規表現を使用して番号を抽出できます。ただし、複数の一致が多数ある場合は、いくつかのprintステートメントを使用してスクリプトを再実行し、複数の一致を引き起こすファイル名の例を示すことができます。これにより、正規表現の簡単な調整が機能するかどうかがわかります。
たとえば、T番号に23,768の複数の一致がある場合、スクリプトに500番目のファイル名ごとに複数の一致を出力させます。これにより、47のサンプルを調べることができます。
おそらく[ -/.=]T[0-9]+[ -/.=]
、複数の一致をゼロにするのに十分であると同時に、すべてのファイル名に対して1回限りの一致を与えるようなもので十分です。または最悪の場合、[0-9][ -/.=]T[0-9]+[ -/.=]