我正在尝试采用逻辑匹配标准,例如:
(("Foo" OR "Foo Bar" OR FooBar) AND ("test" OR "testA" OR "TestB")) OR TestZ
并将其应用为与 pig 中的文件的匹配项
result = filter inputfields by text matches (some regex expression here));
问题是我不知道如何将上面的逻辑表达式转换为匹配方法的正则表达式。
我摆弄了各种各样的东西,我最接近的是这样的:
((?=.*?\bFoo\b | \bFoo Bar\b))(?=.*?\bTestZ\b)
有任何想法吗?如果可能,我还需要尝试以编程方式进行此转换。
一些例子:
a - 快速的棕色 Foo 跳过了惰性测试(这应该通过,因为它包含 foo 和测试)
b - TestZ 中发生的事情(这也通过了,因为它包含 testZ)
c - 快速的棕色 Foo 跳过了懒狗(这应该会失败,因为它包含 Foo 但不包含 test、testA 或 TestB)
谢谢