Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java脚本regex接受多个值,包括Mountebank谓词中的空值_Javascript_Regex_Mountebank - Fatal编程技术网

Javascript Java脚本regex接受多个值,包括Mountebank谓词中的空值

Javascript Java脚本regex接受多个值,包括Mountebank谓词中的空值,javascript,regex,mountebank,Javascript,Regex,Mountebank,我试图接受多个值,包括Mountebank谓词中的empty 根据下面的查询参数,我希望接受false和空值 在下面尝试,它既不接受isValid=false也不接受isValid= "predicates":[ { "matches":{ "method":"GET", "path":"/accounts",

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

根据下面的查询参数,我希望接受false和空值

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

"predicates":[
   {
      "matches":{
         "method":"GET",
         "path":"/accounts",
         "query":{
            "isValid":"/false|^null$/"
         }
      }
   }
],
"responses":[
   {
      "....."
   }
]
我尝试了以下选项以及

你需要使用

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

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

“matches”:{“data”:“^(first)?$”}
?@WiktorStribiżew,这起作用了,如果可能的话,请添加此作为描述语法的答案。根据问题,我认为它应该是
false
而不是
first
。进一步的挖掘工作没有
冒号
和引导
,即
^(false)?$
@SMPH如果是JavaScript,您也可以依赖非捕获组。捕获组将捕获的值保留在匹配对象中,这是一种冗余开销。
"matches": {
    "data": "^(?:false)?$" 
}