为什么正则表达式在空手道框架中不起作用?

Why regex does not work in karate framework?

我在空手道框架中遇到正则表达式问题。我有一个步骤:

And match each response.games[*].Price.value == '#regex \'\d*.\d{2}\''

我总是收到消息:

断言失败:路径:$[0],实际:'183.26',预期:'#regex '\d*.\d{2}'',原因:正则表达式匹配失败

有人能帮帮我吗?问题出在哪里?

您可以使用

'#regex^[0-9]*[.]?[0-9]{2}$'

这里,#regex是强制执行正则表达式验证的语法的一部分,其余是匹配

的模式
  • ^ - 字符串开头
  • [0-9]* - 0+ 位
  • [.]? - 可选句点
  • [0-9]{2} - 两位数
  • $ - 字符串结尾。