просто помещенный: ДА
время необходимо думать о том, необходимо ли записать документ, лучше инвестирован в письменной форме документ.
Запись остроты лучше, чем проведение времени для того, чтобы не зарегистрировать метод вообще в конце.
Насколько я смог найти, движок регулярных выражений Python не поддерживает частичное игнорирование регистра. Вот решение с использованием регулярного выражения без учета регистра, которое затем проверяет, является ли токен прописным.
#! /usr/bin/env python
import re
token_re = re.compile(r'use\s+([a-z0-9]+)\s+code', re.IGNORECASE)
def find_token(s):
m = token_re.search(s)
if m is not None:
token = m.group(1)
if token.isupper():
return token
if __name__ == '__main__':
for s in ['Use HELLO1 code',
'USE hello1 CODE',
'this does not match',
]:
print s, '->',
print find_token(s)
Вот вывод программы:
Use HELLO1 code -> HELLO1
USE hello1 CODE -> None
this does not match -> None
Согласно документации , это невозможно. Синтаксис (? X)
позволяет изменять только флаг для всего выражения. Следовательно, вы должны разделить это на три регулярных выражения и применить их одно за другим или , вручную «игнорировать регистр»: / [uU] [sS] [eE] ...