0

我有以下正则表达式:

(?<=[^:]:)?([a-zA-Z]{6}\w[a-zA-Z]{4})

它正在寻找 SWIFT BIC 代码的每个实例。

SWIFT 代码由 8 或 11 个字符组成。当给出8位代码时,它指的是主要办公室。

  1. 前 4 个字符 - 银行代码(仅限字母)
  2. 接下来的 2 个字符 - ISO 3166-1 alpha-2 国家代码(仅限字母)
  3. 接下来的 2 个字符 - 位置代码(字母和数字)(被动参与者将在第二个字符中有“1”)
  4. 最后 3 个字符 - 分公司代码,可选(“XXX”代表主要办公室)(字母和数字)

因此,鉴于上面的列表项和我的正则表达式,我试图从这个示例字符串中提取所有 BICS。屏幕截图显示了我在看什么,正确和错误。

在此处输入图像描述

你可以在顶部看到,我不在那里。我只需要撤回这些:

  • BARCGB2LXXX
  • BARCGB2LXXX
  • 汇丰GB2LXXX
  • 汇丰GB2LXXX
  • RBOSGB2RTCM
  • SABCIR2HXXX

编辑

也许最好量化此正则表达式旨在用于 .NET 应用程序

4

1 回答 1

2

假设代码位于每个字符串的末尾,这将起作用:

[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$

演示在这里

于 2014-03-14T12:29:40.983 回答