Có cách nào để lấy regex đơn để thỏa mãn điều kiện này không ??làm cách nào để bao gồm boolean AND trong regex?
Tôi đang tìm kiếm một "chữ" mà có ba chữ từ tập MBIPI, thứ tự bất kỳ, nhưng PHẢI chứa I.
tức.
re.match ("[MBDPI] {3}", foo) và "I" trong foo
Vì vậy, đây là kết quả chính xác (trong python bằng cách sử dụng mô-đun lại), nhưng tôi có thể có được điều này từ một regex duy nhất?
>>> 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
with regex Tôi biết tôi có thể sử dụng | như toán tử OR boolean, nhưng có boolean AND equivalent?
hoặc có thể tôi cần một số tra cứu tiến hoặc lùi?
Bạn cũng có thể tìm kiếm ký tự 'I' bằng str.find(). Nguồn: http://docs.python.org/library/stdtypes.html#str.tìm thấy – Dor