使用正则表达式获取字符后跟新行项



我正在尝试使用正则表达式在特定字母之后的新行上获取字符。我的原始数据如下所示:

Total current charges (please see Current account details) $38,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY $42,814.80

我想得到ID Number

我的尝试在这里:

ID_num = re.compile(r'[^ID Number[rn]+([^rn]+)]{12}')

ID num 的长度始终为 12,并且始终在ID Number之后,这就是为什么我在表达式中指定长度并尝试检测之后的元素。

但这并没有按预期工作。

请问有人能帮我吗?

由于在模式的开头使用了[ ],您的正则表达式不起作用,这些用于字符集。
所以把它换成( ). 您的模式如下所示:r'^ID Number[rn]+([^rn]+){12}'

但您可以将模式简化为:ID Number[s]+(w+)rn将以s和数字和字母字符进行匹配w.

import re
s = """
Total current charges (please see Current account details) $38,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY $42,814.80
"""
print(re.findall(r"ID Number[s]+(w+)", s))
# ['1001166UNBEB']

最新更新