编辑问题,因为它被误解了。
Ex:我拥有这两对5对字符串:
第1行:0102030405
第2行:0102203035
我想找01和02和03(例如);预期的结果是:
匹配: 010203 0405
不匹配:0102203035
如果我想找01和02和30(例如);我想要的结果是:
不匹配:0102030405
匹配: 0102 20 30 35
每对位于模2(当然)的位置
我可以使用什么样的正则表达式?
感谢您的帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
感谢我的隔壁邻居Laurent P.洛朗会认出自己!
理想的模式是这样的: ^([0-9] [0-9])*(02)([0-9] [0-9])*(32)([0-9] [0-9])*(39)( [0-9] [0-9])*(44)([0-9] [0-9])* $ 找到02和32以及39和44。
所以,这是使用正则表达式的mongo查找。 db.collection.find({g:{$ regex:'^([0-9] [0-9])*(02)([0-9] [0-9])*(32)([0 -9] [0-9])*(39)([0-9] [0-9])*(44)([0-9] [0-9])* $'}})
答案 2 :(得分:-1)
假设您正在寻找从奇数位置开始的所有对:
^(?:(01|02|03)|\d\d)+$
将捕获所有数字,但分组仅捕获您需要的数字。