我找到了一个正则表达式,匹配所有国家here的所有IBAN号码:
[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}
我尝试调整它以便有两个捕获组,一个用于国家/地区代码(前两个字母),另一个用于帐号(最后10位?)
"^(?<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})";
这在我对荷兰号码的单元测试中有效,但我不确定其他国家。我仍然希望听到你的发言。
答案 0 :(得分:0)
据我所知,BBAN是除国家代码和校验位之外的所有内容。在NL中它恰好是4个字母,其余的是银行帐户,但它可以是任何格式。基本上,&#34;官方&#34; BBAN是忽视前4个字母数字的一切。
https://en.wikipedia.org/wiki/International_Bank_Account_Number#Structure