Ответ 1
(?i)
запускает нечувствительный к регистру режим
(?-i)
отключает нечувствительный к регистру режим
Дополнительная информация в "Включение и выключение режимов для частичного выражения" этой страницы:
Современные ароматы регулярных выражений позволяют применять модификаторы только к части регулярное выражение. Если вы вставляете модификатор (? Ism) в середине регулярное выражение, модификатор применяется только к части регулярного выражения к право модификатора. Вы можете отключить режимы, предваряя их минус. Все режимы после знака минус будут отключены. Например. (? i-sm) включает нечувствительность к регистру и отключает как однострочные режим и многострочный режим.
Не все ароматы регулярных выражений поддерживают это. JavaScript и Python применяют все модификаторов режима для всего регулярного выражения. Они не поддерживают синтаксис (? -ismx), так как выключение опции бессмысленно, когда Модификаторы режима применяются ко всем регулярным выражениям. Все варианты по умолчанию.
Вы можете быстро проверить, как вы используете режим regex, который вы используете в ручном режиме модификаторы. Регулярное выражение (? I) te (? - i) st должно соответствовать тесту и TEst, но не teST или TEST.