java - 我可以在正则表达式中声明优先于匹配项吗?

标签 java regex

有没有办法在正则表达式中声明偏好
例如,假设我要搜索以下术语:

猫吃老鼠

我有以下文字:

我昨天在我们家看到一只大老鼠。为什么?我们有一只猫!一只猫吃老鼠。对吧?

我想要一个匹配部分的正则表达式,特别是 A cat eats mouse 部分。
IE。尽管这些术语存在于其他部分,但该句子是一个更好的匹配,即它是首选。

但如果缺少这部分,它就会与 我昨天在我们家里看到一只大老鼠 相匹配。或者 我们有一只猫

这可以用正则表达式表达吗?

最佳答案

不,正则表达式不是适合这个的工具。

您可以使用正则表达式(尽管简单的子字符串搜索可能更合适)来查找您要查找的每个单词,并为匹配分配权重(基于每个术语的出现次数、所有术语的出现次数, 术语的相对顺序...) 在正则表达式之外。

但您的最终目标太模糊,不够正则 - 您需要的不仅仅是正则表达式。

关于java - 我可以在正则表达式中声明优先于匹配项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8952267/

相关文章:

Java:jaxb 泛型

Java:包含 "this"参数或让它隐含

Python 正则表达式只匹配整个字符串

python - 在 Pandas 数据帧上使用正则表达式的新列的多个条件

php - 正则表达式删除新行和空格

java - 匹配标签内的内容

Java:Netbeans - 没有找到适合 jdbc mysql 的驱动程序(在构建和清理项目之后)

java - 如何在不调用receive的情况下判断数据报包是否到达?

java - LoadBalancer 背后的 OAuth2 授权

python - 什么 Python 正则表达式匹配所有字母字符但不匹配数字? [unicode 感知]