ここで、すべての国のすべての IBAN 番号に一致する正規表現を見つけました。
[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}
国コード (最初の 2 文字) 用とアカウント番号 (最後の 10 桁?) 用の 2 つのキャプチャ グループがあるように調整しようとしました。
"^(?<CountryCode>[a-zA-Z]{2})[0-9]{2}[a-zA-Z0-9]{4}(?<AccountNumber>[0-9]{7}([a-zA-Z0-9]?){0,16})"
上記の正規表現は、アカウント番号を取得するために機能しません。基本的に最後の10桁をキャプチャしたいのですが、BBANは国ごとに異なるため(IBANが発明されたのはそのためです)、これは必ずしも同じではありません。
誰かが私にいくつかのアイデアを提供してくれることを願っています。
/編集私はそれを次のように変更しました:
"^(?<CountryCode>[a-zA-Z]{2})[0-9]{2}[a-zA-Z0-9]{4}([0]*)(?<AccountNumber>([a-zA-Z0-9]?){0,16})";
これはオランダの番号での単体テストで機能しますが、他の国についてはわかりません。引き続きご意見をいただければ幸いです。