我正在使用 Mqtt (Paho) 实现一个 Android 应用程序。我有一些组件,我必须将包含通配符的订阅主题与客户发布到的实际主题进行比较。
我只是不明白它,我的“基本”正则表达式技能也无济于事......
Paho/Java MQTT 中是否有实用程序类来查看是否
“SENSOR/TEMPERATURE/+/DEGREE/#/ID”(订阅主题)
适用于
“SENOR/TEMPERATURE/GARDEN/DEGREE/CELSIUS/ABOVEZERO/ID”(实际主题)?
有人知道最好的方法是什么吗?
谢谢!
编辑:您好-我认为这应该是正确的
public static boolean compareTopic(final String actualTopic, final String subscribedTopic){
return actualTopic.matches(subscribedTopic.replaceAll("\\+", "[^/]+").replaceAll("#", ".+"));
}