Ответ 1
(?i)
внутри шаблона начинается совпадение без учета регистра, (?-i)
завершает его. То есть
(?i)foo(?-i)bar
соответствует FOObar
, но не FOObar
.
РЕДАКТИРОВАТЬ: Я должен был сказать, что (?-i)
запускает совпадение с учетом регистра - если вы хотите, чтобы весь шаблон был нечувствительным к регистру, тогда вам не нужно "завершать" (?i)
.