Step Definitions Aren't Passed Step-Line Tokens
From Cucumber's point of view, all Gherkin keywords that trigger steps are identical. From the step definition's point of view, there's no out-of-the-box visibility of the keyword that triggered the step.
This is a design choice. In general, trying to branch the same step off of different keywords is largely a Cucumber anti-pattern, and prevents you from reusing step definitions in the way that most Cucumberists would expect. In general, I'd say that if you care deeply about which step-token was used to enter your step definition, there's probably a better way to do whatever it is you're really trying to accomplish (e.g. this is likely an X/Y problem).
On the other hand, if you're asking "Can I hack it?", then answer is "possibly." At least in the Ruby version, Cucumber uses a tokenizer and parser to read Gherkin, so you could conceivably introspect the AST or one of the other objects to see if you can access the token value of the #set_token_matched Ruby method, or somehow expose the value from the token matcher C source. Access to these values may or may not be possible without changes to the underlying source code, but these are likely the right seams to explore if you're trying to pry open the innards of Cucumber.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…