gpt4 book ai didi

java - Mongo正则表达式用于在字符串类型的列中搜索固定整数?

转载 作者:行者123 更新时间:2023-12-01 15:40:39 24 4
gpt4 key购买 nike

我有一个 Mongo DB 列,其中包含存储为字符串的“1001,100”和“1001”排序值。在通过 java 类搜索“100”时,我使用了

query.put(dbColumn, java.util.regex.Pattern.compile(object));

其中对象为 100。此查询在搜索 100 时会产生两个值,而 1001 包含 100。有什么方法可以使用正则表达式获取仅包含 100 作为其字符串一部分的值(即结果应该仅为“1001,100”)?

最佳答案

我理解您的意思是您的 Mongo DB 列可以包含多个以逗号分隔的值。例如,字符串“1001,100”表示一组值,1001 和 100。您想要在列中搜索特定值,例如 100,但只能搜索完整值,而不是部分值。算作一场比赛。

如果我理解正确,那么在您的正则表达式中,您需要声明您正在搜索的值是完整值,而不是部分值。您可以通过在值的开头和结尾添加字边界来实现此目的:

\b100\b

这将导致搜索仅匹配完整的值。

其工作原理是 \b 运算符与单词边界匹配。单词边界是输入中的一个位置,其中边界的一侧有单词元素,另一侧有非单词元素。因此,仅当 100 两侧都有非单词元素时,\b100\b 才会匹配 - 在您的情况下,是逗号或字段的开头或结尾。

关于java - Mongo正则表达式用于在字符串类型的列中搜索固定整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com