如何解决如何从黄瓜步骤中捕获正则表达式
我需要在 Cucumber js 步骤中根据正则表达式捕获值
用例 =>
When I click the '2nd' item in the list
我想在上面的步骤定义中捕获“2”。
我在步骤定义中尝试了这个 =>
When(/^I click the '\d{1,2}(?:st|nd|rd|th)?' item in the list$/,async function(element) {
await helperActions.clickTopBanksListElement(element);
});
但无法捕获“2”。请任何人提出建议
解决方法
您只需要使用括号捕获数字:'(\d{1,2})(?:st|nd|rd|th)?'
此外,您不需要将数字限制为一两个字符。使用 (\d+)
将捕获一位或多位数字。我也不确定您为什么要在 st、nd、rd 和 th 缩写的反向引用的开头包含 ?:
字符。
When(/^I click the '(\d+)(st|nd|rd|th)?' item in the list$/,async function(element) {
await helperActions.clickTopBanksListElement(element);
});
或者,您不需要引号:
When(/^I click the (\d+)(st|nd|rd|th)? item in the list$/,async function(element) {
await helperActions.clickTopBanksListElement(element);
});
给你:
When I click the 2nd item in the list
读起来更像是你真的会怎么写这句话。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。