Регулярное выражение для IFS C Код индийского банка - PullRequest
0 голосов
/ 03 марта 2020

Код IFS C состоит из первых 4 букв, затем «0», а затем 6 цифр. Регулярное выражение ниже [AZ | az] {4} [0] [\ d] {6} $ Но я использую OCR для извлечения текста, поэтому я очищаю код

        ifsc_code = ifsc_code.replace(",","")
        ifsc_code = ifsc_code.replace("X","0")
        ifsc_code = ifsc_code.replace("o","0")
        ifsc_code = ifsc_code.replace("O","0")
        ifsc_code = ifsc_code.replace("(","")
        ifsc_code = ifsc_code.replace(")","")

, так что он делает он преобразует «ORBC0101346» в «0RBC0101346», и мое регулярное выражение не удается. я собирался разбить этот код ifs c на 2 части по 4 символа и выполнить очистку, а затем вторую часть, состоящую только из чисел, а затем объединить их в конце после очистки.

1 Ответ

0 голосов
/ 03 марта 2020

Продолжая мой комментарий: Вы можете использовать группы совпадений для разделения различных компонентов, таких как

def parse_ifsc(ifsc_code):
    m = re.match('([A-Za-z0]{4})(0\d{6})$', ifsc_code)
    if m:
        return m.group(1).replace('0', 'O').upper() + m.group(2)
    else:
        return None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...