There would be some very weird behaviour otherwise.
Par exemple: (a(?i)b_BAR_c) accepte "ab", "aB", "c", et "C", même si, comme dans le cas de "C", la première alternative qui porte l'option n 'est pas prise en compte.