【问题标题】:Why regex does not work in karate framework?为什么正则表达式在空手道框架中不起作用?
【发布时间】:2020-07-10 10:45:10
【问题描述】:

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

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

我一直收到消息:

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

谁能帮帮我?问题出在哪里?

【问题讨论】:

  • 感谢您的帮助,但它不起作用。消息原因:不是数组或列表
  • 嗯,我的意思是反斜杠可能必须加倍。好的,试试'#regex^[0-9]*[.]?[0-9]{2}$'
  • @WiktorStribiżew 双反斜杠不起作用,但您当前的解决方案有效。谢谢。

标签: regex api frameworks karate


【解决方案1】:

你可以使用

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-13
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2012-11-17
    • 2014-12-03
    相关资源
    最近更新 更多