You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从文本文件提取字段值并验证指定数值匹配条件?

实现验证逻辑的完整方案

首先,我们需要从文件中提取指定number对应的info值,转为整数后完成计算对比。以下是完整的实现代码:

import re

# 定义正则,精准捕获number和info的十六进制数值部分
pattern = r'number="(0x[\w]+)".*info="(0x[\w]+)"'
# 用字典存储number到info整数的映射,方便后续快速查找
info_map = {}

with open("in.txt", "r") as fin:
    for line in fin:
        match_result = re.search(pattern, line)
        if match_result:
            num_str = match_result.group(1)
            # 将十六进制字符串转为整数,便于计算
            info_int = int(match_result.group(2), 16)
            info_map[num_str] = info_int

# 指定需要验证的两个number值
target_num1 = "0x12"
target_num2 = "0x356"

# 先检查目标number是否存在于映射中
if target_num1 in info_map and target_num2 in info_map:
    # 执行计算并对比
    calculated_value = info_map[target_num1] + 0x00000004
    if calculated_value == info_map[target_num2]:
        print("匹配成功:0x12的info值加0x4等于0x356的info值")
    else:
        print(f"匹配失败:计算结果{hex(calculated_value)}与目标值{hex(info_map[target_num2])}不相等")
else:
    print("错误:文件中未找到指定的number记录")

关键细节说明:

  • 正则优化:调整后的正则直接捕获number和info的数值内容,避免额外的字符串截取操作
  • 数值转换:通过int(hex_str, 16)将十六进制字符串转为整数,才能进行算术运算
  • 边界处理:增加了目标number存在性判断,防止因文件缺失记录导致的报错
  • 数据存储:用字典存储映射关系,让后续查找目标值的操作更高效

内容的提问来源于stack exchange,提问作者V_S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:15:59