Java doesn’t provide a literal syntax for regular expressions, so they have to be specified as strings. Cucumber uses heuristics to determine if a string should be interpreted as a Cucumber Expression or a Regular Expression.
The table below describes the heuristics, along with some examples
Expression | Type | Explanation |
---|---|---|
strings are cukexp by default |
CucumberExpression |
When there are no special characters, a Cucumber Expression is always assumed. |
^definitely a regexp$ |
RegularExpression |
The presence of anchors assumes a Regular Expression, even if only one of the anchors are present. |
/surely a regexp/ |
RegularExpression |
Forward slashes always assumes Regular Expression. The slashes themselves are removed. |