Как сделать регулярное выражение python

Нужно с помощью модуля re сделать выражение, которое будет находить в тексте это: [SBIUC], при этом расположение символов может быть рандомное [BUICS] [ISUCB] и т.д. Если хотя бы 3 символа из 5 присутствуют, то возвращать True. Например: "[ISUCB]Hello, World!" это True, "[BI]Hello, World!" это False, "[IUS]Hello, World!" это True


Ответы (1 шт):

Автор решения: mrEvgenX

[SBIUC]{3,5} - вся регулярка. Квадратные скобки значат - любой символ из этой последовательности, а конструктция в фигурных скобках - диапазон, сколько раз должна идти подряд предыдущая конструкция.

>>> import re
>>> re.search(r'[SBIUC]{3,5}', '[BUICS]') is not None
True
>>> re.search(r'[SBIUC]{3,5}', '[ISUCB]') is not None
True
>>> re.search(r'[SBIUC]{3,5}', '[IUS]Hello, World!') is not None
True
>>> re.search(r'[SBIUC]{3,5}', '[BI]Hello, World!') is not None
False

Если важны скобки: то можно добавить \[ вначале, и \] в конце. Обратный слеш - значит не воспринимать эти символы, как спецсимволы из синтаксиса регулярок.

→ Ссылка