Java脚本正则表达式可以接受多个值,包括Mountebank谓词中的空值

问题描述

我试图接受Mountebank谓词中的多个值,包括空值。

按照以下查询参数中的规定,我要同时接受false和空值。

下面尝试过,它既不接受isValid=false也不接受isValid=

"predicates":[
   {
      "matches":{
         "method":"GET","path":"/accounts","query":{
            "isValid":"/false|^null$/"
         }
      }
   }
],"responses":[
   {
      "....."
   }
]

我尝试了以下选项以及this

"isValid":"/false.^null$|^null$.false/"

解决方法

您需要使用

"matches": {
    "data": "^(?:false)?$" 
}

在这里

  • ^-匹配字符串的开头
  • (?:false)?-可选(由于末尾的?non-capturing group,与字符序列false匹配一次或零次
  • $-字符串的结尾。