黄瓜3:如何定义正则表达式

时间:2019-01-07 20:34:57

标签: cucumber cucumber-jvm cucumber-java

在黄瓜2中,正则表达式表示为(.*),以获得用于粘合代码的参数。黄瓜3的expressions documentation说:“您可以使用正则表达式或黄瓜表达式。”但遗憾的是它没有提到语法。

在黄瓜3和4中,()表示可选文本,与黄瓜2中的(?:)等效。

()保留为可选文本时,如何在Cucumber 3中定义正则表达式?作为{.*}吗?

1 个答案:

答案 0 :(得分:3)

黄瓜3引入了黄瓜表达。对于简单的用例,它们用作更易读的正则表达式。不幸的是,Java没有语法来区分正则表达式和字符串。因此,要区分两个Cucumber JVM,请使用a heuristic

  • strings are cucumber expressions by default
  • ^definitely a regexp$
  • /surely a regexp/
  • this (.+) like a regexp
  • this look(s) like a cukexp

添加^和结束标记$是获得正则表达式行为的最可靠方法。