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

VSCode中用Regex筛选含|5102|的|C170|开头行

处理VSCode中大型文本的Regex筛选与修改方案

一、精准筛选目标行的Regex写法

针对你需要筛选以|C170|开头且第11个字段为5102/6102的行,直接使用以下正则表达式即可:

^\|C170\|(?:[^|]*\|){10}(5102|6102)\|.*$

规则拆解:

  • ^:锁定行开头,避免匹配行内的|C170|片段
  • \|C170\|:转义竖线(正则中|是特殊符号),精准匹配行首的固定前缀
  • (?:[^|]*\|){10}:非捕获组,重复10次「任意非竖线字符+竖线」,快速定位到第11个字段的起始位置
  • (5102|6102):匹配第11个字段的目标值
  • \|.*$:匹配第11个字段后的竖线,以及该行剩余所有内容

VSCode中使用步骤:

  1. 打开搜索面板(快捷键Ctrl+F)
  2. 点击面板右侧的「正则表达式」按钮(图标为.*)
  3. 粘贴上述正则,即可自动筛选出所有符合条件的行

二、后续批量修改(末尾竖线间填值)

如果要在目标行末尾的||之间填入指定内容(例如IMPORTANT_VALUE),使用以下替换规则:

查找正则:

(^\|C170\|(?:[^|]*\|){10}(5102|6102)\|.*)\|\|$

替换内容:

$1\|IMPORTANT_VALUE\|

替换逻辑:

  • $1:引用匹配到的除末尾||外的整行内容
  • \|IMPORTANT_VALUE\|:将末尾空字段替换为带指定值的字段

三、非Regex替代方案

若对正则不熟悉,可通过VSCode原生功能分步操作:

  1. 筛选|C170|开头的行:搜索^\|C170\|,点击「选择所有匹配项」(快捷键Ctrl+Shift+L)
  2. 定位第11个字段:开启列选择模式(快捷键Alt+Shift+鼠标拖动),选中第11个字段的列区域
  3. 筛选目标值行:在列选择状态下搜索5102或6102,保留匹配行后直接编辑末尾字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:05:58