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