设备正在将以下格式的主题发送给MQTT代理:
gateway/device/variable/status
我想使用JAVA Regex提取正斜杠之间的每个数据。到目前为止,我已经设法提取网关,设备和状态。我遇到变量1的问题。我正在使用下面的网站来测试表达式:
https://www.freeformatter.com/java-regex-tester.html
以下是提取已经完成的数据的表达式:
网关: (^.*?)(?=\/)
设备: (?<=\/)(.*?)(?=\/.*\/)
状态: [^/]+$
当我尝试提取变量时,它使用(?<=/)(.*?)(?=/)
表达式将“设备/变量”一起提供。我只想要可变部分。
提取所有四个之后,我将在Thingsboard-IoT Gateway应用程序中构建变量,该应用程序将解析主题并填充数据。
我仍然会用好'ol split
。
但是,为了挑战起见,此正则表达式按要求工作:
(?<=\/)([^/]*?)(?=/[^/]*?$)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句