查找字符串的正则表达式以字母开头并以斜杠 / 结尾
Regular Expression to find string starts with letter and ends with slash /
我有一个包含 1000 条记录的集合,其中有一个字符串列。
我正在使用 Jongo API 查询 mongodb。
我需要找到列字符串以字母 "AB" 开头并以斜线“/”结尾的匹配记录“
需要有关查询的帮助以查询到 select 相同。
谢谢。
我假设您知道如何在 Jongo 中使用正则表达式进行查询 API 并且正在寻找必要的正则表达式来进行查询?
如果是这样,此正则表达式将查找以 'AB'(区分大小写)开头,后跟任意数量的其他字符,然后以正斜杠 ('/') 结尾的任何字符串:
^AB.*\/$
^ - matches the start of the string
AB - matches the string 'AB' exactly
.* - matches any character ('.') any number of times ('*')
\/ - matches the literal character '/' (backslash is the escape character)
$ - matches the end of the string
如果您刚刚开始使用正则表达式,我强烈推荐 Regex 101 网站,这是一个很棒的沙箱,可以在其中测试正则表达式并解释表达式的每个步骤,从而使调试变得更加简单。
我找到了解决方案,下面的工作正常。
db.getCollection('employees').find({employeeName:{$regex: '^Raju.*\/$'}})
db.getCollection('employees').find({employeeName:{$regex: '\/$'}})
getCollection().find("{employeeName:{$regex:
'^Raju.*\\/$'}}").as(Employee.class);
getCollection().find("{employeeName:{$regex: '\/$'}}").as(Employee.class);
getCollection().find("{employeeName:#}",
Pattern.compile("\/$")).as(Employee.class);
getCollection().find("{"Raju": {$regex: #}}", "\/$").as(Employee.class);
map = new HashMap<>();
map.put("employeeName", Pattern.compile("\/$"));
coll = getCollection().getDBCollection().find(new BasicDBObject(map));
你可以试试这个。
public List<Product> searchProducts(String keyword) {
MongoCursor<Product> cursor = collection.find("{name:#}", Pattern.compile(keyword + ".*")).as(Product.class);
List<Product> products = new ArrayList<Product>();
while (cursor.hasNext()) {
Product product = cursor.next();
products.add(product);
}
return products;
}
我有一个包含 1000 条记录的集合,其中有一个字符串列。
我正在使用 Jongo API 查询 mongodb。
我需要找到列字符串以字母 "AB" 开头并以斜线“/”结尾的匹配记录“
需要有关查询的帮助以查询到 select 相同。
谢谢。
我假设您知道如何在 Jongo 中使用正则表达式进行查询 API 并且正在寻找必要的正则表达式来进行查询?
如果是这样,此正则表达式将查找以 'AB'(区分大小写)开头,后跟任意数量的其他字符,然后以正斜杠 ('/') 结尾的任何字符串:
^AB.*\/$
^ - matches the start of the string
AB - matches the string 'AB' exactly
.* - matches any character ('.') any number of times ('*')
\/ - matches the literal character '/' (backslash is the escape character)
$ - matches the end of the string
如果您刚刚开始使用正则表达式,我强烈推荐 Regex 101 网站,这是一个很棒的沙箱,可以在其中测试正则表达式并解释表达式的每个步骤,从而使调试变得更加简单。
我找到了解决方案,下面的工作正常。
db.getCollection('employees').find({employeeName:{$regex: '^Raju.*\/$'}})
db.getCollection('employees').find({employeeName:{$regex: '\/$'}})
getCollection().find("{employeeName:{$regex:
'^Raju.*\\/$'}}").as(Employee.class);
getCollection().find("{employeeName:{$regex: '\/$'}}").as(Employee.class);
getCollection().find("{employeeName:#}",
Pattern.compile("\/$")).as(Employee.class);
getCollection().find("{"Raju": {$regex: #}}", "\/$").as(Employee.class);
map = new HashMap<>();
map.put("employeeName", Pattern.compile("\/$"));
coll = getCollection().getDBCollection().find(new BasicDBObject(map));
你可以试试这个。
public List<Product> searchProducts(String keyword) {
MongoCursor<Product> cursor = collection.find("{name:#}", Pattern.compile(keyword + ".*")).as(Product.class);
List<Product> products = new ArrayList<Product>();
while (cursor.hasNext()) {
Product product = cursor.next();
products.add(product);
}
return products;
}