英数字の文字列に一致する正規表現を探しています。文字列の長さが 32 文字の場合は、文字 17 ~ 28 と一致します。文字列の長さが 34 文字の場合は、最後の 12 文字と一致します。
正規表現一致条件 http://s12.postimage.org/ghathiz2l/Screen_shot_2012_08_09_at_11_52_22_PM.png
2 つの異なる条件に一致する 2 つの異なる式があります。
.(?<match>[0-9]{16}) and .(?<match>[0-9]{12})
コードでは、式を右から左に読み取り、「if」を処理し、元の文字列が 32 文字の長さの場合に一致の最後の 4 文字を切り捨てますが、単一の RegEx からこれを実行できるようにしたいと考えています。
編集
この場合、正規表現を廃止したいと思いますが、私はアプリの元の作成者ではありません。文字列解析条件は時間の経過とともに変化する可能性があるため、このインスタンスで新しいリリースを作成するよりも、構成ファイルで RegEx を維持する方が簡単です。しかも、それが上司の望み…