Как сделать регулярное выражение python
Нужно с помощью модуля re сделать выражение, которое будет находить в тексте это: [SBIUC], при этом расположение символов может быть рандомное [BUICS] [ISUCB] и т.д. Если хотя бы 3 символа из 5 присутствуют, то возвращать True. Например: "[ISUCB]Hello, World!" это True, "[BI]Hello, World!" это False, "[IUS]Hello, World!" это True
Ответы (1 шт):
[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
Если важны скобки: то можно добавить \[ вначале, и \] в конце. Обратный слеш - значит не воспринимать эти символы, как спецсимволы из синтаксиса регулярок.