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

如何用Python正则表达式提取含TECH-XXX的完整用户信息?

解决方法:扩展正则表达式捕获TECH编号

嘿,这个问题很好解决,只需要在你的正则表达式里新增一个捕获组,专门匹配TECH-XXX格式的编号就行!

问题拆解

你原来的正则只覆盖了Username和domain的捕获,漏掉了后面紧跟的TECH-XXX编号。观察你的文本结构,每一组用户信息都是Username:xxx domain:xxx TECH-xxx的固定组合,所以我们只需要把匹配TECH-加数字的规则作为第三个捕获组加入正则即可。

修改后的完整代码

import re

with open("output.txt", "r") as myfile:
    data = myfile.read()
# 扩展正则,新增TECH编号的捕获组
people = re.findall(r'\bUsername:(\S+)\s+domain:(\S+)\s+(TECH-\d+)\s?', data)
for personinfo in people:
    print(','.join(personinfo))

正则规则详解

  • \bUsername:(\S+):匹配单词边界后的Username:,捕获后续的非空白用户名内容
  • \s+domain:(\S+):匹配任意空白字符后,捕获domain:后的非空白域名内容
  • \s+(TECH-\d+):匹配任意空白字符后,捕获TECH-开头+一串数字的编号
  • \s?:可选的空白字符,用来处理最后一组信息末尾可能没有多余空格的情况

预期输出

运行修改后的代码,你会得到完全符合需求的结果:

traider,domain.net,TECH-1366
traider1,domain.net,TECH-1367

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:04:22