使用正则表达式获取字符后跟新行项目
Get character followed by new line item using regex
我正在尝试使用正则表达式在特定字母后换行获取字符。我的原始数据如下所示:
Total current charges (please see Current account details) ,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY ,814.80
我想得到 ID Number
我的尝试在这里:
ID_num = re.compile(r'[^ID Number[\r\n]+([^\r\n]+)]{12}')
ID num 的长度始终为 12,并且始终在 ID Number
之后,这就是为什么我在表达式中指定长度并尝试检测之后的元素。
但这并没有达到预期效果。
有人能帮帮我吗?
您的正则表达式无法正常工作,因为在模式的开头使用了 [ ]
,这些用于字符集。
所以将其替换为 ( )
。
你的模式看起来像:r'^ID Number[\r\n]+([^\r\n]+){12}'
但您可以将模式简化为:ID Number[\s]+(\w+)
\r\n
将在 \s
中匹配,数字和字母字符将在 \w
中匹配。
import re
s = """
Total current charges (please see Current account details) ,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY ,814.80
"""
print(re.findall(r"ID Number[\s]+(\w+)", s))
# ['1001166UNBEB']
我正在尝试使用正则表达式在特定字母后换行获取字符。我的原始数据如下所示:
Total current charges (please see Current account details) ,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY ,814.80
我想得到 ID Number
我的尝试在这里:
ID_num = re.compile(r'[^ID Number[\r\n]+([^\r\n]+)]{12}')
ID num 的长度始终为 12,并且始终在 ID Number
之后,这就是为什么我在表达式中指定长度并尝试检测之后的元素。
但这并没有达到预期效果。
有人能帮帮我吗?
您的正则表达式无法正常工作,因为在模式的开头使用了 [ ]
,这些用于字符集。
所以将其替换为 ( )
。
你的模式看起来像:r'^ID Number[\r\n]+([^\r\n]+){12}'
但您可以将模式简化为:ID Number[\s]+(\w+)
\r\n
将在 \s
中匹配,数字和字母字符将在 \w
中匹配。
import re
s = """
Total current charges (please see Current account details) ,414.69
ID Number
1001166UNBEB
ACCOUNT SUMMARY
SVL0
BALANCE OVERDUE - PLEASE PAY IMMEDIATELY ,814.80
"""
print(re.findall(r"ID Number[\s]+(\w+)", s))
# ['1001166UNBEB']