2014-12-16 2 views
1

Я хочу добавить флаг в строку regex re.sub. В PHP я бы просто сделал это '\test is good\i'Как добавить флаги в регулярное выражение python?

Я пробовал это в re.compile, но у него нет метода .sub. Я пытался использовать s.replace, но я не могу добавить к нему i

+3

код [документации] (https://docs.python.org/2/library/re.html) для 'ре 'модуль - отличное место для начала. –

ответ

6

Скомпилированные объекты регулярных выражений могут быть переданы в re.sub(), поэтому флаги еще могут быть переданы во время компиляции.

r = re.compile('test is good', re.IGNORECASE) 
re.sub(r, 'yup', 'TEST IS GOOD') 

В качестве альтернативы, флаги могут быть добавлены с (?iLmsux) синтаксис:

re.sub('(?i)test is good', 'yup', 'TEST IS GOOD') 
+2

Или еще один вариант: 're.sub ('test is good', 'yup', 'TEST IS GOOD', flags = re.IGNORECASE)' –

+3

Вы также можете использовать 'r.sub', поскольку объекты regex * * метод 'sub'. Я не знаю, о чем говорит OP, когда он говорит: «У этого нет метода .sub'». – user2357112

Смежные вопросы