印度银行IFSC代码正则表达式
Regular Expression for IFSC Code of Indian Bank
IFSC 代码由前 4 个字母、“0”和 6 位数字组成。正则表达式在下面
[A-Z|a-z]{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”,我的正则表达式失败了。
我想做的是将这个 ifsc 代码分成两部分,首先是 4 个字符,然后进行清理,然后第二部分只包含数字,然后在清理后最后将它们连接在一起。
继续我的评论:您可以使用匹配组将不同的组件分开,例如
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
IFSC 代码由前 4 个字母、“0”和 6 位数字组成。正则表达式在下面 [A-Z|a-z]{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”,我的正则表达式失败了。 我想做的是将这个 ifsc 代码分成两部分,首先是 4 个字符,然后进行清理,然后第二部分只包含数字,然后在清理后最后将它们连接在一起。
继续我的评论:您可以使用匹配组将不同的组件分开,例如
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