问题
I need a regular expression to validate a String like this:
1678;1678;1678;1678 and 1;0;1;1;0;1
I tried to use this pattern:
db.getCollection('CollectionName').find(
{
"magnitude": /^[1678][1678]$/,
"flag": /^[1][1]$/
}
)
but it doesnt works, i try this two patterns that works separate but not both at the same time
db.getCollection('CollectionName').find(
{
"magnitude": /[1678]$/,
"flag": /[1]$/
}
)
db.getCollection('CollectionName').find(
{
"magnitude": /^[1678]/,
"flag": /^[1]/
}
)
I didnt find any character like * in SQL to use in this
I am using robomongo 1.0.0 for querys
I will apreciate any help
Thanks in advance
回答1:
If you want to match more than one ;
separated strings then use capturing groups.
db.getCollection('CollectionName').find(
{
"magnitude": /^1678(;1678)*$/,
"flag": /^[01](;[01])*$/
}
)
(;1678)*
matches the string ;1678
, zero or more times.
[01]
matches either 0
OR 1
来源:https://stackoverflow.com/questions/43651173/mongodb-select-query-issue-whit-regular-expression-starts-whit-and-ends-whit