如何在文本文件中匹配ABC-XXX格式带数字关键词并高亮?
实现方法:匹配并标记特定格式关键词
要搞定匹配ABC-前缀加1-4位数字的关键词(比如ABC-1、ABC-1234),并把这些关键词用#包裹的需求,得用正则表达式来精准匹配,替换原代码里简单的包含判断逻辑,具体修改如下:
修改后的完整代码
import re # 打开原文件读取,同时创建新文件保存处理后的内容 with open("Text.txt", "r") as txtFile, open("Modified_Text.txt", "w") as outputFile: for line in txtFile: # 匹配目标格式的关键词,替换成#包裹的形式 modified_line = re.sub(r'ABC-\d{1,4}', r'#\g<0>#', line) outputFile.write(modified_line)
关键部分说明
- 导入
re模块:这是Python处理正则表达式的标准库,用来精准匹配特定格式的字符串 - 正则模式
r'ABC-\d{1,4}':ABC-:严格匹配固定前缀\d{1,4}:匹配1到4位数字(\d代表任意数字,{1,4}限定数字的位数在1到4之间)
- 替换规则
r'#\g<0>#':\g<0>指代正则匹配到的完整关键词,这样就能直接把匹配到的内容前后加上#
如果非要直接修改原文件,可以先把所有内容读入内存处理完再覆盖写入,但更推荐用新文件保存结果,防止操作失误弄丢原数据。
内容的提问来源于stack exchange,提问作者MBx271
相关产品推荐
相关产品推荐

