You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Orion-LD Context Broker执行正则查询报错原因咨询

问题原因

~=是NGSI-LD定义的正则匹配操作符,操作符后必须传入符合语法规则的正则表达式。你传入的*temperature是非法正则:正则语法中*是量词,作用是标记其前面的匹配单元可出现0次或多次,直接出现在正则开头时前面没有可修饰的匹配单元,正则解析器会直接判定表达式无效,因此抛出对应错误。
注意不要把文件通配符场景下*代表任意内容的语义套用到正则语法里,二者规则完全不同。

修正方案

根据实际匹配需求调整正则写法即可,以下是常见场景的正确请求示例:

  • 需求:匹配measurementVariable属性值以temperature结尾的实体
    http://localhost:1026/ngsi-ld/v1/entities?q=measurementVariable~=.*temperature
    
    其中.代表匹配任意单个字符,.*组合后代表匹配任意长度的任意字符,放在目标字符串前即可实现"前缀任意、后缀为temperature"的匹配效果。
  • 需求:匹配measurementVariable属性值以temperature开头的实体
    http://localhost:1026/ngsi-ld/v1/entities?q=measurementVariable~=temperature.*
    
  • 需求:匹配measurementVariable属性值包含temperature的实体
    http://localhost:1026/ngsi-ld/v1/entities?q=measurementVariable~=.*temperature.*
    
  • 需求:匹配measurementVariable属性值精确等于temperature的实体
    不需要使用正则匹配,直接用等值查询即可,性能更好:
    http://localhost:1026/ngsi-ld/v1/entities?q=measurementVariable==temperature
    

内容的提问来源于stack exchange,提问作者T.R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:54:26