比赛后负前瞻

时间:2019-03-29 23:33:54

标签: regex regex-lookarounds

我正在使用此正则表达式检查以下文本块。

CourierRepository

但是我想排除此块,因为它包含JpaRepository<Courier, Integer>,因此我对其进行了修改,使其包含否定的前瞻性((?<=(over the)).*)?(ask.*question[s]?| answer(ing)?.*question[s]?)(?!(business))

它应排除此块;

  

我只需要问几个问题,为您推荐最佳选择。您从事哪种业务?

它应该包含此块;

  

我只需要问几个问题,为您推荐最佳选择。

但是负面的前瞻似乎没有用吗?

1 个答案:

答案 0 :(得分:1)

您可以使用(?!(business))而不是(?!.*business),因为子串business不在比赛之后,而是在零个或多个其他字符之后。

使用

((?<=over the).*)?(ask.*questions?| answer(?:ing)?.*questions?)(?!.*business)
                                                               ^^^^^^^^^^^^^^

请参见regex demo