1

我有一个黄瓜功能文件,其中包含多个场景,每个场景都有不同的 And。我正在使用 Java 正则表达式来解析文件,并希望根据 And 中的文本提取特定场景。

例如:

特点:测试东西

设想:

女士燕子飞 给一位女士,女士吞下一只“苍蝇”,女士就活了

设想:

女士吞下蜘蛛 给定一位女士,女士吞下一只“苍蝇”,“蜘蛛”,女士就活了

设想:

女士吞下所有东西 给一个女士和女士吞下“苍蝇”、“蜘蛛”、“猫”、“狗”、“牛”,然后女士死了

设想:

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

我想提取包含的场景dog并将其转储到单独的文件中。在我的现实生活中dog=account number并关联到多个自动加载到本地数据库中的 SQL 提取。这是一个单一的场景,在一个单一的特性文件中,它是数百个之一。所以这不是@run在场景顶部使用的简单案例。我实际上是在提取场景和相关文件,以便将它们放入沙箱中。

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

.*?dog.*Scen

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

相反,我想退出该组:

设想:

女士吞下所有东西 给一个女士和女士吞下“苍蝇”、“蜘蛛”、“猫”、“狗”、“牛”,然后女士死了

有谁知道我怎样才能退出那个组?

4

1 回答 1

1

如果场景由 \n 分隔,请尝试:

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

演示

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

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

演示

于 2015-08-06T14:07:50.950 回答