emqx主题重写deviceID数字+英文字母不生效

这是我的主题重写规则module.rewrite.pub.rule.1 = thing/product/+/osd ^thing/product/(\d+)/osd$ /thing/$1/product/yc
module.rewrite.pub.rule.2 = thing/product/+/state ^thing/product/(\d+)/state$ /thing/$1/product/yc
module.rewrite.pub.rule.3 = thing/product/+/services_reply ^thing/product/(\d+)/services_reply$ /thing/$1/product/yc
这是桥接配置
bridge.mqtt.wlglptone.forwards = /thing/7CTDM7D00B71E2/product/yc
deviceID全是数字的情况下消息可以重写,但是只要是这种数字+英文字母就不生效,大佬知道是啥情况吗

  1. (\d+):
  • 这是一个捕获组,由圆括号 () 包围。
  • \d 表示一个数字字符(0-9)。
  • + 是一个量词,表示前面的元素(即 \d)可以出现一次或多次。
  • 因此,(\d+) 捕获一个或多个连续的数字字符。
  1. 你要支持数字和英文字母混用得用([a-zA-Z0-9]+) 或者更宽的: (\w+) 他会加上(a-z, A-Z)、数字(0-9)和下划线(_)