NetAssist 中文文档 下载 App

正则匹配与字符集过滤增强应答规则

为什么需要正则匹配

简单匹配只能做"包含匹配"——接收数据里有你要的字符串就触发。但很多场景需要更精确的匹配条件:

正则匹配开关

在自动应答规则的编辑界面中,将"匹配方式"从"简单匹配"切换为 正则匹配 即可。之后"匹配内容"栏里填的就是正则表达式了。

常用正则模式

需求正则示例说明
完整匹配 AT+VER?^AT\+VER\?\r\n$^ 开头 $ 结尾,精准整条指令
匹配任意 3 位数字\d{3}\d 匹配数字,{3} 表示恰好 3 个
匹配 IP 地址\d+\.\d+\.\d+\.\d+简化版 IPv4 匹配
匹配 HEX 数据[0-9A-Fa-f]{2}两个十六进制字符
提取参数值^AT\+NAME=(.+)\r\n$(.+) 捕获 NAME= 后面的值

正则捕获组与应答内容

在正则中用括号 () 捕获的内容,可以在应答中通过 \1、\2 引用。

例如匹配规则:^AT\+NAME=(.+)\r\n$

应答内容:OK\r\n

无论对方发来 AT+NAME=Device01\r\n 还是 AT+NAME=ABC\r\n,都回复 OK\r\n。如果想把捕获到的参数也回显回来,应答内容可以写 OK NAME=\1\r\n。

字符集过滤

V5.0.9.0 起增强了自动回复功能,增加了正则字符集过滤。这个功能让你可以在处理接收数据前,先用字符集规则过滤掉不关心的内容——比如只保留可打印 ASCII 字符,跳过控制字符。

常见过滤需求:

正则调试小贴士

正则写出来后,建议先用在线正则测试工具(如 regex101.com)验证一下匹配逻辑是否正确,再填入 NetAssist。避免因为正则写错导致规则不触发或误触发。

历史版本说明

自动回复功能在 V5.0.1 引入,V5.0.9.3 修复了 V5.0.9.0~5.0.9.2 中的自动回复功能失效问题。建议使用 5.0.10 及以上版本。V5.0.13 起脚本引擎和自动应答都增加了 UTF-8 编码支持,匹配包含中文的规则不再有编码问题。