从银行对帐单中查找详细信息的正则表达式错误

Regex Error Finding Details from a bank statement

我正在使用 Regex,目前正在尝试从 PDF 中提取名称、IFSC 和帐号。 我正在使用以下代码提取详细信息。

acc_name= " ", '\n'.join([re.sub(r'^[\d \t]+|[\d \t]+:$', '', line) for line in data.splitlines() if 'Mr. ' in line])
acc_no= " ", '\n'.join([re.sub(r'Account Number\s+:', '', line) for line in data.splitlines() if 'Account Number' in line])
acc_code = " ", '\n'.join([re.sub(r'IFSC Code\s+:', '', line) for line in data.splitlines() if 'IFSC Code' in line])

但是我得到的数据如下:

(' ', ' 50439602642')
(' ', 'Mr. MOHD AZFAR ALAM LARI')
(' ', ' ALLA0211993')

我想删除逗号、括号和引号。我是正则表达式的新手,因此将不胜感激。

您正在创建一个元组:

>>> " ", "\n'
(" ", "\n')
>>>

如您所见,创建了一个元组,所以您的意思是:

acc_name= ' \n'.join([re.sub(r'^[\d \t]+|[\d \t]+:$', '', line) for line in data.splitlines() if 'Mr. ' in line])
acc_no= ' \n'.join([re.sub(r'Account Number\s+:', '', line) for line in data.splitlines() if 'Account Number' in line])
acc_code = ' \n'.join([re.sub(r'IFSC Code\s+:', '', line) for line in data.splitlines() if 'IFSC Code' in line])

或者只是一个 space:

acc_name= ' '.join([re.sub(r'^[\d \t]+|[\d \t]+:$', '', line) for line in data.splitlines() if 'Mr. ' in line])
acc_no= ' '.join([re.sub(r'Account Number\s+:', '', line) for line in data.splitlines() if 'Account Number' in line])
acc_code = ' '.join([re.sub(r'IFSC Code\s+:', '', line) for line in data.splitlines() if 'IFSC Code' in line])