有没有办法让单个正则表达式满足这个条件?
我正在寻找一个"字",其中有三个字母来自MBIPI集,任何订单,但必须包含一个.
即.
foo中的re.match("[MBDPI] {3}",foo)和"I"
所以这是正确的结果(在使用re模块的python中),但是我可以从单个正则表达式得到这个吗?
>>> for foo in ("MBI", "MIB", "BIM", "BMI", "IBM", "IMB", "MBD"):
... print foo,
... print re.match("[MBDPI]{3}", foo) and "I" in foo
MBI True
MIB True
BIM True
BMI True
IBM True
IMB True
MBD False
Run Code Online (Sandbox Code Playgroud)
与正则表达式我知道我可以使用| 作为布尔OR运算符,但是有一个布尔AND等价?
或者我可能需要一些向前或向后查找?