作为一些背景知识,我试图编写一个与
等步骤相匹配的通用步骤When I "click" on "send" button
When I "press" on that "clear" thingy
When I "select" some kind of "money" maker
并告诉我引号中的内容。
最佳步骤看起来像
When(/regex here/) do |action, target|
#do something here
end
我已经尝试了(.*)"(.*)"(.*)"(.*)"(.*)
并且确实有效,但需要我编写
When(/(.*)"(.*)"(.*)"(.*)"(.*)/) do |unused, action, unused, target, unused|
#do something here
end
另一个副作用是.feature文件中的整个步骤变得突出显示,这是次要的,但很高兴知道正在抓取什么,这是双引号。
实现这一目标的正则表达式是什么?
答案 0 :(得分:3)
尝试使用[^"]
匹配除"
个字符以外的任何内容,并仅指定要捕获的组。例如:
When(/"([^"]*)"[^"]*"([^"]*)"/) do |action, target|
#do something here
end