【发布时间】:2011-08-21 20:39:57
【问题描述】:
我正在尝试在 Java 中创建一个包含条件搜索词的正则表达式代码。
我的意思是假设我有 5 个单词;树,汽车,狗,猫,鸟。现在我想要表达式来搜索这些术语,但是只需要匹配五个中的三个,它可以是它选择匹配的 5 个中的任何一个。
我认为也许使用反向引用 ?(3) 会起作用,但似乎不起作用。
标准的可选搜索 (?) 也不起作用,因为所有术语都是可选的,但所需的匹配数不是。本质上,有没有办法创建一个必须 50%(或任何百分比)正确才能提供匹配的字符串?
有没有人碰巧知道或能指出我正确的方向?
(如果可能的话,我希望它能够在客户端工作)
【问题讨论】:
-
它必须匹配这 5 个中的 3 个 unique?
-
是的,如果可能的话。它会在所有收到的电子邮件中搜索我概述的单词。如果在任何一封电子邮件中匹配了一定数量的这些单词(例如 50%),我的规则引擎将删除该电子邮件。如果单词树在一封电子邮件中出现 3 次,则它只会返回一个匹配项。如果 tree 出现 3 次, cat 出现 2 次,这将返回两个单词匹配的值,但仍会导致不匹配。
标签: java regex expression