Есть ли способ получить одно регулярное выражение для удовлетворения этого условия ??
Я ищу "слово", которое имеет три буквы из установленного MBIPI, любого порядка, но ДОЛЖНО содержать I.
т.е..
re.match ("[MBDPI] {3}", foo) и "I" в foo
Так что это правильный результат (в Python с использованиеммодуль re), но могу ли я получить это из одного регулярного выражения?
>>> 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
с регулярным выражением Я знаю, что могу использовать |в качестве логического оператора ИЛИ, но есть ли логическое И эквивалент?
или, может быть, мне нужен поиск вперед или назад?