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

如何用正则提取开头为8位数字空格加2位且不含TDS的行

行提取规则解决方案

核心正则表达式

你可以通过增加负向先行断言实现同时满足两个规则的匹配,最终正则如下:
^(?!.*TDS)\d{8} \d{2}.*$
各部分规则说明:

  • ^:锚定行的起始位置,确保规则从行首开始匹配
  • (?!.*TDS):负向先行断言,校验整行范围内不存在TDS字符串,满足排除要求
  • \d{8} :匹配行首的8位数字+空格规则
  • \d{2}:匹配空格后紧跟的2位数字规则
  • .*$:匹配该行剩余的所有字符直到行尾

该正则表达式兼容所有支持先行断言的正则引擎,可直接在Python、Java、JavaScript等编程语言的正则匹配逻辑中使用。

常用工具实现方案

如果是在Linux/macOS命令行环境下处理文件,可以用更简单的组合命令,可读性更高不容易出错:

# 先匹配开头规则,再反向过滤掉含TDS的行
grep '^[0-9]\{8\} [0-9]\{2\}' your_file.txt | grep -v 'TDS'

如果要单条正则实现,可以开启grep的Perl正则支持:

grep -P '^(?!.*TDS)\d{8} \d{2}' your_file.txt

测试匹配结果

针对你提供的测试数据,以上方案会输出符合要求的结果:

91298254 02/07/2021 91298254 3181753640RE,MAN-1 200,000.00
91298268 03/07/2021 91298268 3181753647RE,MAN-2 166,861.00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:06:03