Python如何从文件中提取固定键Name:及最长12位的对应值
调整方法
你当前的正则仅匹配了固定前缀Name:,补充后缀匹配规则即可实现需求:
- 正则规则修改为
r'Name:\s*.{0,12}',各部分含义:
\s*匹配Name:后可能存在的0个或多个空白字符(空格、制表符等).{0,12}匹配最长12个非换行字符,符合你要求的最长12位值的限制
如果你的字段值不允许包含空白,可将正则替换为
r'Name:\s*\S{0,12}',仅匹配后续非空白字符,结果更精准。
完整可运行代码
import re with open('file', 'r', encoding='utf-8') as the_file: file_content = the_file.read() name_pattern = re.compile(r'Name:\s*.{0,12}') match_result = name_pattern.search(file_content) if match_result: # 输出完整的Name: + 对应值内容 print(match_result.group()) # 若需单独提取值,可将正则改为r'Name:\s*(.{0,12})',调用match_result.group(1)即可 else: print("未匹配到目标字段")
用你给出的示例文本测试,代码输出结果为:
Name: name123
内容的提问来源于stack exchange,提问作者Kiara Parks
相关产品推荐
相关产品推荐

