Python如何用正则为Result code OK后128位独立字符串加方括号
实现方案
你可以通过状态标记+正则匹配的方式实现需求,核心逻辑是先记录上一行是否为Result code OK,再对后续行匹配单独存在的128位连续字符,添加方括号。
完整可运行代码
import re # 状态标记:记录上一行是否为 Result code OK last_line_is_ok = False # 正则规则:匹配整行刚好128位的数字/大写字母组合 target_pattern = re.compile(r'^([0-9A-Z]{128})$') with open('results.txt', 'r', encoding='utf-8') as in_f, open('processed_results.txt', 'w', encoding='utf-8') as out_f: for line in in_f: current_raw = line.rstrip('\n') if last_line_is_ok: # 匹配到目标字符串则替换加括号,否则保留原内容 line = target_pattern.sub(r'[\1]', line) last_line_is_ok = False out_f.write(line) # 更新状态标记 if current_raw == 'Result code OK': last_line_is_ok = True
规则说明
- 正则
^([0-9A-Z]{128})$中:^和$分别匹配行首、行尾,确保是整行都是目标字符,不会匹配到包含其他前缀文本的行[0-9A-Z]限定匹配字符为数字和大写字母,和你提供的目标字符串字符范围一致{128}限定字符长度刚好为128位- 括号
()为捕获组,替换时用\1即可引用捕获到的128位字符串,外层套方括号即可完成修改
- 状态标记的作用是确保只会修改
Result code OK之后紧邻的符合要求的行,避免误改其他位置的同格式字符串
内容的提问来源于stack exchange,提问作者Cyber_Tron
相关产品推荐
相关产品推荐

