如何使用2个字符的regex 2 char

时间:2015-11-25 18:19:44

标签: regex mongodb python-3.x

编辑问题,因为它被误解了。

Ex:我拥有这两对5对字符串:

第1行:0102030405

第2行:0102203035

我想找01和02和03(例如);预期的结果是:

匹配: 010203 0405

不匹配:0102203035

如果我想找01和02和30(例如);我想要的结果是:

不匹配:0102030405

匹配: 0102 20 30 35

每对位于模2(当然)的位置

我可以使用什么样的正则表达式?

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

这个简单明了的正则表达式适用于您的情况:

(010203)|(0102)|(01)

请参阅Demo

答案 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)+$

将捕获所有数字,但分组仅捕获您需要的数字。