有没有办法在正则表达式中声明偏好?
例如,假设我要搜索以下术语:
猫吃老鼠
我有以下文字:
我昨天在我们家看到一只大老鼠。为什么?我们有一只猫!一只猫吃老鼠。对吧?
我想要一个匹配部分的正则表达式,特别是 A cat eats mouse
部分。
IE。尽管这些术语存在于其他部分,但该句子是一个更好的匹配,即它是首选。
但如果缺少这部分,它就会与 我昨天在我们家里看到一只大老鼠
相匹配。或者 我们有一只猫
。
这可以用正则表达式表达吗?
最佳答案
不,正则表达式不是适合这个的工具。
您可以使用正则表达式(尽管简单的子字符串搜索可能更合适)来查找您要查找的每个单词,并为匹配分配权重(基于每个术语的出现次数、所有术语的出现次数, 术语的相对顺序...) 在正则表达式之外。
但您的最终目标太模糊,不够正则 - 您需要的不仅仅是正则表达式。
关于java - 我可以在正则表达式中声明优先于匹配项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8952267/