繁体   English   中英

如何使用正则表达式从黄瓜功能文件中提取特定场景

[英]How to pull a specific scenario from a cucumber feature file using regex

我有一个包含多个方案的黄瓜功能文件,每个方案都有一个不同的“与”。 我正在使用Java regex解析文件,并希望根据And中的文本提取特定的方案。

例如:

功能:测试的东西

场景:

燕子飞小姐假定一位女士和一位燕子飞“蝇”,女士就住了

场景:

女士吞下蜘蛛假设女士和女士吞下“蝇”,“蜘蛛”,则女士生活

场景:

女士吞下所有东西假设女士吞下了“蝇”,“蜘蛛”,“猫”,“狗”,“牛”,然后女士死了

场景:

女士吞下除狗以外的所有东西给女士,女士吞下“蝇”,“蜘蛛”,“猫”,“牛”,然后女士死

我想拉出包含dog的场景并将其转储到单独的文件中。 在我的现实生活中, dog=account number并且与多个SQL提取关联,这些提取自动加载到本地数据库中。 这是单个功能文件中的单个方案,该文件是数百个文件中的一个。 因此,在方案顶部使用@run不是一个简单的情况。 我实际上是在提取场景和相关文件,以便可以将它们放在沙箱中。

到目前为止,我拥有的正则表达式是:

.*?dog.*Scen

但这会从场景的第一个实例中选择超出我想要的场景。

相反,我想退出小组:

场景:

女士吞下所有东西假设女士吞下了“蝇”,“蜘蛛”,“猫”,“狗”,“牛”,然后女士死了

有谁知道我可以退出那个小组吗?

如果方案用\\ n分隔,请尝试:

^[^\n]+\bdog\b[^\n]+

DEMO

如果是连续字符串,请尝试:

(?=Scenario).+?\bdog\b.+?(?=Scenario|$)

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM