Поднятие определенных слов в сообщении SWIFT
У меня есть следующее выражение регулярного выражения:
(?<=[^:]:)?([a-zA-Z]{6}\w[a-zA-Z]{4})
Который ищет каждый экземпляр кода SWIFT BIC.
SWIFT-код состоит из 8 или 11 символов. Когда указан 8-значный код, он относится к основному офису.
- Первые 4 символа - код банка (только буквы)
- Следующие 2 символа - код страны ISO 3166-1 alpha-2 (только буквы)
- Следующие 2 символа - код местоположения (буквы и цифры) (пассивный участник будет иметь "1" во втором символе)
- Последние 3 символа - код филиала, необязательно ("XXX" для основного офиса) (буквы и цифры)
Поэтому, учитывая приведенные выше элементы списка и мое выражение регулярного выражения, я пытаюсь извлечь из этой примерной строки все данные BICS. Снимок экрана показывает, что я смотрю, правильно и неправильно.
Наверху видно, что меня там нет. Мне нужно только отодвинуть это:
- BARCGB2LXXX
- BARCGB2LXXX
- HSBCGB2LXXX
- HSBCGB2LXXX
- RBOSGB2RTCM
- SABCIR2HXXX
РЕДАКТИРОВАТЬ
Возможно, может быть лучше количественно определить, что это регулярное выражение предназначено для использования в приложении.NET
1 ответ
Предполагая, что код находится в конце каждой строки, это будет работать:
[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$