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

如何在Kate Text Editor中用正则表达式自动调整CNC代码空格格式

Kate自动处理CNC PRG文件空格的实现方案

方案一:使用Kate内置宏实现自动替换

  • 步骤1:录制替换宏
    1. 打开任意测试用.PRG文件,点击顶部菜单「工具」→「宏」→「开始录制宏」
    2. 按下Ctrl+R调出替换面板,填写如下配置:
      • 查找内容:([0-9]{1,2})([A-Z])
      • 替换为:\1 \2
      • 勾选正则表达式选项,点击「全部替换」
    3. 点击「工具」→「宏」→「停止录制宏」,将宏命名为CNC空格补全保存到Kate默认宏目录
  • 步骤2:配置打开PRG文件自动触发宏
    1. 打开「设置」→「配置Kate」→「快捷键」,搜索你保存的宏名称,可先设置一个顺手的快捷键实现一键触发
    2. 如果需要完全自动触发,可安装Kate的「事件驱动动作」插件,开启后配置规则:当文件后缀为.PRG且文档打开完成时,自动执行上述宏即可。

方案二:预处理脚本方案(更稳定,适配所有编辑器)

如果不想折腾Kate插件配置,可以写一个简单的本地处理脚本,打开PRG文件前先自动执行替换:

# CNC代码空格补全脚本,保存为fix_cnc.py
import re
import sys

def fix_cnc_file(path):
    try:
        with open(path, 'r', encoding='latin1') as f:
            raw = f.read()
        # 兼容原版正则,可根据需要调整匹配规则
        fixed = re.sub(r'(\d{1,2})([A-Z])', r'\1 \2', raw)
        with open(path, 'w', encoding='latin1') as f:
            f.write(fixed)
    except Exception as e:
        print(f"处理失败: {e}")

if __name__ == "__main__":
    for fpath in sys.argv[1:]:
        if fpath.lower().endswith('.prg'):
            fix_cnc_file(fpath)

配置方式:将.PRG文件的默认打开方式修改为你写的批处理/脚本文件,逻辑为「先执行fix_cnc.py处理目标文件,再调用Kate打开处理后的文件」即可。

正则优化建议

如果你遇到现有正则误替换的场景,可以调整为适配G代码结构的更精准规则:

  • 查找规则:([A-Z][+-]?\d*\.?\d+)([A-Z])
  • 替换规则:\1 \2
    该规则只会匹配完整G代码指令后紧跟下一个指令的场景,避免误修改注释或其他内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:54:06