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("#", ".+"));
}