我正在尝试使用正则表达式在特定字母之后的新行上获取字符。我的原始数据如下所示:
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']